@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

:root {
    --bs-primary: #244573;
    --bs-primary-rgb: 36, 69, 115;
}

/* Sistema visual homogéneo para las categorías CURPI. */
.curpi-page .subdivision-encabezado {
    padding: .9rem 1.15rem;
    border: 0;
    border-radius: .8rem;
    background: #244573;
    box-shadow: 0 5px 14px rgba(36,69,115,.18);
    font-family: 'Poppins', sans-serif;
}
.curpi-page .subdivision-encabezado h3,
.curpi-page .subdivision-encabezado p { color: #fff; font-family: 'Poppins', sans-serif; }
.curpi-page .subdivision-encabezado > span {
    color: #244573;
    border: 1px solid rgba(255,255,255,.85);
    background: #fff;
    box-shadow: none;
}
.curpi-page .pregunta-profesional,
.curpi-page .pregunta-ocho,
.curpi-page .pregunta-tecnologia,
.curpi-page .pregunta-habilidad,
.curpi-page .pregunta-matriz,
.curpi-page .campo-idiomas-multiple,
.curpi-page .campos-curpi > div,
.curpi-page .campos-curpi > fieldset {
    margin-bottom: 1rem;
    border: 1px solid #9fc5e3;
    border-radius: .85rem;
    box-shadow: 0 5px 14px rgba(36,69,115,.09);
    background: #fff;
}
.curpi-page label,
.curpi-page legend,
.curpi-page .pregunta-profesional strong,
.curpi-page .pregunta-ocho h3,
.curpi-page .pregunta-tecnologia h3,
.curpi-page .pregunta-matriz h3 { font-family: 'Century Gothic','Century',sans-serif; font-weight: 400; }
.curpi-page .opcion-idioma span,
.curpi-page .respuestas-radio span,
.curpi-page option { font-weight: 400; }
.curpi-page .numero-pregunta,
.curpi-page .pregunta-profesional legend > span,
.curpi-page .pregunta-habilidad > span,
.curpi-page .pregunta-tecnologia .numero-pregunta,
.curpi-page .matriz-encabezado .numero-pregunta {
    color: #147ee6 !important;
    border: 1px solid #8eb9df !important;
    background: #fff !important;
    box-shadow: none !important;
}
.curpi-page .numero-subpregunta { display: none !important; }

.categoria-uno .campos-curpi > div,
.categoria-uno .campos-curpi > fieldset {
    padding: 1rem !important;
    border-color: #9fc5e3 !important;
    box-shadow: 0 5px 14px rgba(36,69,115,.09) !important;
}
.categoria-uno .enunciado-categoria-uno {
    display: flex !important;
    align-items: center;
    gap: .75rem;
    margin: 0 0 .65rem !important;
    color: #405269 !important;
    font-family: 'Century Gothic','Century',sans-serif !important;
    font-size: .86rem !important;
    font-weight: 400 !important;
    line-height: 1.55;
}
.categoria-uno .numero-pregunta-uno {
    display: grid;
    flex: 0 0 2.15rem;
    width: 2.15rem;
    height: 2.15rem;
    place-items: center;
    border: 1px solid #8eb9df !important;
    border-radius: 50%;
    color: #147ee6 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-family: 'Poppins',sans-serif !important;
    font-size: .68rem;
    font-weight: 600 !important;
}
.categoria-uno .pregunta-anidada-uno {
    margin-left: 1.25rem;
    border-left: 3px solid #8eb9df !important;
}
.categoria-uno .opciones-en-linea label,
.categoria-uno .opciones-en-linea span,
.categoria-uno input,
.categoria-uno select,
.categoria-uno option {
    font-family: 'Century Gothic','Century',sans-serif !important;
    font-weight: 400 !important;
}

body {
    color: #26384e;
}

.portal-principal {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 2rem;
    background:
        linear-gradient(rgba(36, 69, 115, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 69, 115, .08) 1px, transparent 1px),
        radial-gradient(circle at center, #fff, #edf3f8);
    background-size: 104px 104px, 104px 104px, auto;
}

.portal-presentacion {
    width: min(100%, 46rem);
    padding: clamp(2.5rem, 7vw, 5rem);
    border-left: 5px solid #244573;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 24px 65px rgba(36, 69, 115, .13);
}

.portal-etiqueta {
    color: #68778a;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.portal-presentacion h1 {
    margin: .35rem 0;
    font-size: clamp(3rem, 10vw, 6rem);
    font-weight: 900;
    letter-spacing: .04em;
}

.portal-presentacion p {
    max-width: 34rem;
    margin-bottom: 2rem;
    color: #52657b;
    font-size: clamp(1rem, 2.2vw, 1.25rem);
}

.portal-presentacion .btn {
    border-radius: .75rem;
}

.pagina {
    min-height: 100vh;
    display: grid;
    place-items: center;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #eef3f8;
    padding: 1.5rem;
}

.login-page .pagina {
    padding-top: calc(var(--alto-cabecera, 5rem) + 3rem);
    padding-bottom: 2rem;
    background:
        radial-gradient(circle at 50% 42%, rgba(36, 69, 115, .06), transparent 34%),
        #fdfefe;
}

.cabecera-flotante {
    position: fixed;
    z-index: 1040;
    top: 1.5rem;
    left: 1.5rem;
    display: flex;
    align-items: center;
    gap: .75rem;
    max-width: calc(100vw - 3rem);
}

.boton-menu {
    flex: 0 0 auto;
    width: 3.25rem;
    height: 3.25rem;
    display: grid;
    place-content: center;
    gap: .32rem;
    border: 1px solid rgba(36, 69, 115, .18);
    border-radius: .85rem;
    color: var(--bs-primary);
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 8px 24px rgba(36, 69, 115, .14);
}

.boton-menu:hover,
.boton-menu:focus-visible {
    border-color: var(--bs-primary);
    background: #fff;
}

.linea-menu {
    display: block;
    width: 1.45rem;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
}

.rotulo-curpi {
    width: min(40rem, calc(100vw - 7rem));
    min-height: 3.25rem;
    padding: .65rem 1.25rem;
    border-left: 4px solid var(--bs-primary);
    border-radius: .85rem;
    color: var(--bs-primary);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 35px rgba(36, 69, 115, .16);
}

.rotulo-curpi strong,
.rotulo-curpi .nombre-pista {
    display: block;
}

.rotulo-curpi strong {
    font-size: clamp(.68rem, 1.15vw, .9rem);
    line-height: 1.3;
    letter-spacing: .045em;
}

.rotulo-curpi .nombre-pista {
    margin-top: .45rem;
    font-size: .75rem;
    font-style: italic;
    line-height: 1.35;
    letter-spacing: .025em;
}

.rotulo-curpi .inicial {
    display: inline;
    font-size: 1.12em;
    font-weight: 900;
}

.inicial-p { color: #06265c; }
.inicial-i { color: #058a99; }
.inicial-s { color: #24733f; }
.inicial-t { color: #fc7c09; }
.inicial-a { color: #5d3187; }

.logos-flotantes {
    position: fixed;
    z-index: 1030;
    top: 1.5rem;
    right: 1.5rem;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.enlace-logo {
    width: 6rem;
    height: 6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    text-decoration: none;
    transition: transform .3s ease;
}

.enlace-logo:hover {
    transform: scale(1.05);
}

.logo-flotante {
    width: auto;
    height: 6rem;
    max-width: 6rem;
    object-fit: contain;
    border: 0;
    background: transparent;
    box-shadow: none;
    mix-blend-mode: multiply;
}

.flotante {
    animation: flotar-logo 4s ease-in-out infinite;
}

.flotante:nth-child(1) { animation-delay: .25s; }
.flotante:nth-child(2) { animation-delay: 0s; }
.flotante:nth-child(3) { animation-delay: .5s; }

@keyframes flotar-logo {
    0%, 100% { translate: 0 0; }
    50% { translate: 0 -.4rem; }
}

@media (min-width: 992px) {
    .logos-flotantes {
        display: flex;
    }
}

.offcanvas {
    --bs-offcanvas-width: min(25rem, 92vw);
    border-right: 0;
    color: #30435b;
    background: #f8fafc;
    box-shadow: 18px 0 45px rgba(6, 38, 92, .18);
}

.menu-encabezado {
    position: relative;
    align-items: flex-start;
    padding: 2rem;
    color: #30435b;
    background: #fff;
    border-bottom: 1px solid #dce3eb;
}

.menu-encabezado > .btn-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.menu-identidad {
    width: 100%;
    min-width: 0;
    text-align: center;
}

.menu-titulo-curpi {
    color: #06265c;
    font-size: .88rem;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .045em;
}

.menu-encabezado .menu-nombre-pista {
    max-width: 20rem;
    margin: .5rem auto 0;
    color: #405269;
    font-size: .63rem;
    font-style: italic;
    line-height: 1.45;
}

.menu-nombre-pista .inicial {
    font-size: 1.12em;
    font-weight: 900;
}

.menu-cuerpo {
    display: flex;
    flex-direction: column;
    padding: 0;
}

.menu-contenido {
    padding: 1.75rem 2rem;
}

.menu-seccion + .menu-seccion {
    margin-top: 1.4rem;
}

.menu-seccion h3 {
    margin-bottom: .45rem;
    color: #06265c;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.menu-seccion p {
    margin: 0;
    font-size: .82rem;
    line-height: 1.6;
}

.logos-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    margin: 1.75rem 0;
    padding: 1.25rem 0;
    border-top: 1px solid #dce3eb;
    border-bottom: 1px solid #dce3eb;
}

.logos-menu-encabezado {
    justify-content: center;
    gap: 1rem;
    margin: 0 0 1.35rem;
    padding: 0;
    border: 0;
}

.logos-menu.logos-menu-encabezado img {
    width: 3.5rem;
    height: 3.5rem;
}

.logos-menu img {
    width: 3.25rem;
    height: 3.25rem;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.menu-navegacion {
    display: grid;
    gap: .65rem;
    margin-top: 1.5rem;
    padding-top: 1.35rem;
    border-top: 1px solid #cfd8e3;
}

.menu-navegacion-titulo {
    margin-bottom: .15rem;
    color: #68778a;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.menu-navegacion .btn {
    border-radius: 0;
    font-size: .82rem;
}

.menu-pie {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: auto;
    padding: 1rem 2rem 1.5rem;
    border-top: 1px solid #dce3eb;
    text-align: center;
}

.menu-pie a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    color: #244573;
    font-size: .75rem;
    font-weight: 700;
    text-underline-offset: .2rem;
}

.menu-pie .enlace-creditos-menu {
    margin-top: .75rem;
}

.login-page .pagina::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background-image:
        linear-gradient(rgba(36, 69, 115, .11) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 69, 115, .11) 1px, transparent 1px),
        linear-gradient(135deg, rgba(36, 69, 115, .025), transparent 58%);
    background-size: 104px 104px, 104px 104px, 104px 104px;
    box-shadow: inset 0 0 90px rgba(36, 69, 115, .06);
}

.red-animada {
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
}

.tarjeta {
    width: min(100%, 500px);
    position: relative;
    border-radius: 1.25rem;
    padding: 2rem;
    background: #fff;
}

.login-page .tarjeta {
    background: rgba(255, 255, 255, .97);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow:
        0 22px 55px rgba(36, 69, 115, .13),
        0 0 0 1px rgba(36, 69, 115, .08) !important;
}

.acceso {
    width: min(100%, 960px);
    max-width: 960px;
}

.login-page .acceso {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(22rem, 1.1fr);
    padding: 0;
    border-radius: 0;
    overflow: hidden;
    background: rgba(244, 246, 248, .82);
}

.acceso-informacion,
.acceso-formulario {
    padding: clamp(2rem, 4vw, 3.5rem);
}

.acceso-informacion {
    display: grid;
    grid-template-rows: 1fr 1fr;
    padding: 0;
    border-right: 1px solid rgba(36, 69, 115, .28);
}

.acceso-instrucciones,
.acceso-proposito {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.5rem, 2.7vw, 2.35rem);
}

.acceso-instrucciones {
    border-bottom: 1px solid rgba(36, 69, 115, .28);
    text-align: left;
}

.acceso-instrucciones h2 {
    margin-bottom: .85rem;
    color: #244573;
    font-size: .9rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-align: center;
    text-transform: uppercase;
}

.acceso-instrucciones ol {
    display: grid;
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #405269;
    font-size: clamp(.72rem, .9vw, .82rem);
    line-height: 1.45;
}

.acceso-instrucciones strong {
    color: #244573;
}

.acceso-informacion p {
    margin: 0;
    color: #405269;
    font-size: clamp(.78rem, 1vw, .9rem);
    line-height: 1.65;
}

.aviso-privacidad {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin: 0 0 1rem;
    padding: .35rem 0;
    border: 0;
    color: var(--bs-primary);
    background: transparent;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .025em;
    align-self: center;
}

.aviso-privacidad:hover,
.aviso-privacidad:focus-visible {
    color: #003668;
}

.aviso-privacidad:focus-visible {
    outline: 2px solid rgba(36, 69, 115, .38);
    outline-offset: 3px;
}

.popover {
    --bs-popover-max-width: 320px;
    --bs-popover-border-radius: 0;
    --bs-popover-header-bg: #f3f5f7;
}

.popover-body {
    line-height: 1.55;
}

.popover-body .enlace-aviso {
    display: inline-block;
    margin-top: .75rem;
    color: var(--bs-primary);
    font-weight: 700;
}

.acceso-formulario {
    background: rgba(255, 255, 255, .42);
}

.acceso-formulario h1 {
    margin-bottom: 1.5rem;
    font-size: clamp(1.65rem, 2.5vw, 2.15rem);
    text-align: center;
}

.acceso-formulario .form-label {
    margin-left: .35rem;
    color: #405269;
    font-size: .78rem;
    font-weight: 700;
}

.acceso-formulario .form-control {
    min-height: 3.25rem;
    padding: .75rem 1.1rem;
    border: 1px solid #d5dee8;
    border-radius: 1rem;
    color: #26384e;
    background: rgba(255, 255, 255, .82);
    box-shadow: inset 0 1px 2px rgba(36, 69, 115, .03);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease, background-color .25s ease;
}

.acceso-formulario .form-control::placeholder {
    color: #91a0b1;
    font-size: .88rem;
}

.acceso-formulario .form-control:hover {
    border-color: #9eb0c5;
    background: #fff;
}

.acceso-formulario .form-control:focus {
    border-color: #2479b9;
    background: #fff;
    box-shadow: 0 0 0 .22rem rgba(20, 126, 230, .14), 0 8px 20px rgba(36, 69, 115, .08);
    transform: translateY(-1px);
}

.acceso-formulario .btn {
    position: relative;
    min-height: 3.1rem;
    overflow: hidden;
    border-radius: 1rem !important;
    font-size: .88rem;
    font-weight: 800;
    letter-spacing: .045em;
    transition: color .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.acceso-formulario .btn::before {
    content: "";
    position: absolute;
    top: -50%;
    left: -75%;
    width: 45%;
    height: 200%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent);
    transform: skewX(-20deg);
    transition: left .55s ease;
}

.acceso-formulario .btn:hover::before {
    left: 130%;
}

.acceso-formulario .btn:hover {
    box-shadow: 0 10px 24px rgba(36, 69, 115, .2);
    transform: translateY(-2px);
}

.acceso-formulario .btn:active {
    box-shadow: 0 4px 10px rgba(36, 69, 115, .14);
    transform: translateY(0);
}

.acceso-formulario .enlace-recuperar-contrasena {
    justify-self: center;
    margin-top: -.25rem;
    padding: .15rem .35rem;
    border: 0;
    color: var(--bs-primary);
    background: transparent;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .22rem;
}

.acceso-formulario .enlace-recuperar-contrasena:hover,
.acceso-formulario .enlace-recuperar-contrasena:focus-visible {
    color: #003668;
}

.acceso-formulario .enlace-recuperar-contrasena:focus-visible {
    outline: 2px solid rgba(36, 69, 115, .38);
    outline-offset: 3px;
}

.modal-recuperacion-contenido {
    overflow: hidden;
    border: 0;
    border-radius: 1.25rem;
    box-shadow: 0 28px 70px rgba(6, 38, 92, .24);
}

.modal-recuperacion-contenido .modal-header {
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, #06265c, #244573 65%, #147ee6);
}

.modal-recuperacion-contenido .modal-title {
    color: #fff;
}

.modal-recuperacion-contenido .btn-close {
    filter: invert(1) grayscale(1) brightness(2);
}

.modal-recuperacion-contenido .modal-body {
    padding: 2rem 1.75rem;
}

.modal-recuperacion-contenido .modal-body p {
    margin-bottom: .75rem;
}

.correo-recuperacion {
    color: var(--bs-primary);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.modal-recuperacion-contenido .modal-footer {
    justify-content: center;
    border-top-color: #e1e7ee;
}

.modal-recuperacion-contenido .modal-footer .btn {
    min-width: 8rem;
    border-radius: .85rem;
    font-weight: 700;
}

#modal-registro .modal-content {
    overflow: hidden;
    max-height: calc(100dvh - 2rem);
    border: 0;
    border-radius: 1.25rem;
    background: #f8fafc;
    box-shadow: 0 28px 70px rgba(6, 38, 92, .24) !important;
}

#modal-registro .modal-content > form {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
}

#modal-registro .modal-header {
    flex: 0 0 auto;
    padding: 1.5rem 1.75rem;
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, #06265c, #244573 65%, #147ee6);
}

#modal-registro .modal-title,
#modal-registro .modal-header p {
    color: #fff;
}

#modal-registro .modal-header p {
    margin-top: .25rem;
    color: rgba(255, 255, 255, .72);
    font-size: .78rem;
}

#modal-registro .btn-close {
    filter: invert(1) grayscale(1) brightness(2);
}

#modal-registro .modal-body {
    min-height: 0;
    padding: 1.75rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

#modal-registro .form-label {
    margin-left: .3rem;
    color: #405269;
    font-size: .78rem;
    font-weight: 700;
}

#modal-registro .form-control {
    min-height: 2.85rem;
    padding: .65rem 1rem;
    border-color: #d5dee8;
    border-radius: .85rem;
    background: #fff;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

#modal-registro .form-control:focus {
    border-color: #2479b9;
    box-shadow: 0 0 0 .2rem rgba(20, 126, 230, .13);
    transform: translateY(-1px);
}

#modal-registro .modal-footer {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    padding: 1rem 1.75rem 1.5rem;
    border-top: 1px solid #e1e7ee;
    background: #fff;
    box-shadow: 0 -6px 16px rgba(36,69,115,.07);
}

#modal-registro .modal-footer .btn {
    min-width: 8rem;
    border-radius: .85rem;
    font-weight: 700;
    transition: box-shadow .25s ease, transform .25s ease;
}

#modal-registro .modal-footer .btn:hover {
    box-shadow: 0 7px 18px rgba(36, 69, 115, .16);
    transform: translateY(-1px);
}

@media (max-height: 700px), (max-width: 575px) {
    #modal-registro .modal-dialog {
        min-height: 0;
        margin: .5rem auto;
    }
    #modal-registro .modal-content {
        max-height: calc(100dvh - 1rem);
    }
    #modal-registro .modal-header {
        padding: 1rem 1.15rem;
    }
    #modal-registro .modal-body {
        padding: 1rem 1.15rem;
    }
    #modal-registro .modal-footer {
        gap: .5rem;
        padding: .75rem 1.15rem;
    }
    #modal-registro .modal-footer .btn {
        min-width: 0;
        flex: 1 1 0;
    }
}

.enlace-creditos-pagina {
    position: absolute;
    z-index: 2;
    right: 50%;
    bottom: 1rem;
    color: #52657b;
    font-size: .75rem;
    font-weight: 700;
    text-underline-offset: .25rem;
    transform: translateX(50%);
}

.enlace-creditos-pagina:hover {
    color: #06265c;
}

.creditos-contenido {
    overflow: hidden;
    border: 0;
    border-radius: 1.25rem;
    background: rgba(248, 250, 252, .98);
    box-shadow: 0 30px 80px rgba(6, 38, 92, .25);
}

.creditos-encabezado {
    padding: 1.25rem 1.75rem;
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, #06265c, #244573 65%, #147ee6);
}

.creditos-encabezado .modal-title {
    color: #fff;
    font-size: 1.6rem;
}

.creditos-encabezado .btn-close {
    filter: invert(1) grayscale(1) brightness(2);
}

.creditos-etiqueta {
    display: block;
    margin-bottom: .15rem;
    color: rgba(255, 255, 255, .65);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.creditos-cuerpo {
    padding: 0;
}

.creditos-seccion {
    padding: clamp(1.15rem, 2vw, 1.75rem);
}

.creditos-seccion > h3 {
    margin-bottom: 1rem;
    color: #06265c;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-align: center;
}

.equipo-creditos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

.persona-credito {
    padding: .65rem 1rem;
    text-align: center;
    transition: transform .3s ease, box-shadow .3s ease;
}

.persona-credito:hover {
    transform: translateY(-5px);
}

.persona-credito img {
    width: clamp(9rem, 14vw, 11rem);
    height: clamp(9rem, 14vw, 11rem);
    aspect-ratio: 1;
    margin-bottom: 1rem;
    border: 4px solid #fff;
    border-radius: 50%;
    object-fit: cover;
    image-rendering: auto;
    box-shadow: 0 12px 28px rgba(36, 69, 115, .18);
    transition: box-shadow .3s ease;
}

.persona-credito:nth-child(1) img {
    box-shadow: 0 0 0 3px rgba(20, 126, 230, .7), 0 12px 28px rgba(20, 126, 230, .2);
}

.persona-credito:nth-child(2) img {
    box-shadow: 0 0 0 3px rgba(93, 49, 135, .72), 0 12px 28px rgba(93, 49, 135, .2);
}

.persona-credito:nth-child(3) img {
    box-shadow: 0 0 0 3px rgba(36, 115, 63, .72), 0 12px 28px rgba(36, 115, 63, .2);
}

.persona-credito:nth-child(1):hover img {
    box-shadow: 0 0 0 5px rgba(20, 126, 230, .9), 0 15px 32px rgba(20, 126, 230, .28);
}

.persona-credito:nth-child(2):hover img {
    box-shadow: 0 0 0 5px rgba(93, 49, 135, .9), 0 15px 32px rgba(93, 49, 135, .28);
}

.persona-credito:nth-child(3):hover img {
    box-shadow: 0 0 0 5px rgba(36, 115, 63, .9), 0 15px 32px rgba(36, 115, 63, .28);
}

.persona-credito h4 {
    margin-bottom: .35rem;
    color: #26384e;
    font-size: .9rem;
    font-weight: 800;
}

.persona-credito p {
    margin: 0;
    color: #68778a;
    font-size: .75rem;
}

.areas-creditos {
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-top: 1px solid #d5dee8;
    background: #fff;
}

.logos-areas {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: center;
    gap: 1rem;
}

.logos-areas img {
    width: 100%;
    height: 4rem;
    object-fit: contain;
    filter: grayscale(.15);
    transition: filter .3s ease, transform .3s ease;
}

.logos-areas img:hover {
    filter: grayscale(0);
    transform: translateY(-3px) scale(1.04);
}

@media (max-width: 767.98px) {
    .equipo-creditos {
        grid-template-columns: 1fr;
    }

    .logos-areas {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.marca {
    color: var(--bs-primary);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .12em;
}

h1, h2 {
    color: var(--bs-primary);
}

.btn-primary {
    --bs-btn-bg: #244573;
    --bs-btn-border-color: #244573;
    --bs-btn-hover-bg: #003668;
    --bs-btn-hover-border-color: #003668;
}

.btn-outline-primary {
    --bs-btn-color: #244573;
    --bs-btn-border-color: #244573;
    --bs-btn-hover-bg: #244573;
    --bs-btn-hover-border-color: #244573;
}

dl div {
    border-bottom: 1px solid #dee2e6;
    padding: .75rem 0;
}

/* Formulario CURPI por categorías */
.curpi-pagina {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow-y: auto;
    padding: calc(var(--separacion-cabecera, 6rem) + 2rem) clamp(1rem, 3vw, 2.5rem) 3rem;
    background:
        radial-gradient(circle at 12% 18%, rgba(70, 181, 194, .34), transparent 27%),
        radial-gradient(circle at 88% 78%, rgba(105, 78, 170, .28), transparent 30%),
        linear-gradient(135deg, #dcecf3 0%, #eff5f8 42%, #e9e4f4 100%);
}

.curpi-page .cabecera-flotante {
    transition: transform .3s ease, opacity .3s ease;
}

.curpi-page .cabecera-flotante.cabecera-oculta {
    opacity: 0;
    transform: translateY(calc(-100% - 2rem));
    pointer-events: none;
}

.mensajes-curpi {
    width: min(100%, 1240px);
    margin-inline: auto;
    margin-bottom: -1.25rem;
}

.mensajes-curpi:empty {
    display: none;
}

#menu-sesion .menu-seccion p + p {
    margin-top: .35rem;
}


#menu-sesion .menu-navegacion {
    margin-top: 1.25rem;
}

.burbuja {
    position: fixed;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    background: rgba(255, 255, 255, .17);
    box-shadow: inset 0 0 35px rgba(255, 255, 255, .2);
    backdrop-filter: blur(3px);
    pointer-events: none;
    animation: flotar-burbuja 8s ease-in-out infinite;
}

.burbuja-1 { top: 7%; left: 5%; width: 9rem; height: 9rem; }
.burbuja-2 { right: 4%; bottom: 8%; width: 13rem; height: 13rem; animation-delay: -3s; }
.burbuja-3 { top: 16%; right: 15%; width: 4.5rem; height: 4.5rem; animation-delay: -5s; }

@keyframes flotar-burbuja {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-18px) scale(1.04); }
}

.curpi-tarjeta {
    width: min(100%, 1240px);
    margin-inline: auto;
    min-height: 600px;
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 1.75rem;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 28px 75px rgba(31, 61, 98, .2) !important;
    backdrop-filter: blur(18px);
}

.comprobante-curpi { max-width: 900px; margin: 0 auto; color: #34495e; }
.comprobante-encabezado { display: flex; align-items: center; gap: 1.25rem; padding: clamp(1.25rem, 3vw, 2rem); border-radius: 1.25rem; color: #fff; background: linear-gradient(135deg, #176b52, #1b9b70); box-shadow: 0 16px 35px rgba(23,107,82,.2); }
.comprobante-icono { display: grid; flex: 0 0 4rem; width: 4rem; height: 4rem; place-items: center; border: 2px solid rgba(255,255,255,.72); border-radius: 50%; background: rgba(255,255,255,.14); font-size: 2rem; font-weight: 900; }
.comprobante-etiqueta { font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.comprobante-encabezado h1 { margin: .25rem 0 .35rem; font-size: clamp(1.45rem, 3vw, 2.15rem); }
.comprobante-encabezado p { margin: 0; color: rgba(255,255,255,.9); }
.comprobante-datos { margin-top: 1.4rem; padding: clamp(1.1rem, 3vw, 1.65rem); border: 1px solid #dce6ee; border-radius: 1.1rem; background: #fff; }
.comprobante-datos h2 { margin: 0 0 1rem; color: #244573; font-size: 1.05rem; }
.comprobante-datos dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; margin: 0; }
.comprobante-datos dl > div { padding: .85rem 1rem; border-radius: .8rem; background: #f3f7fa; }
.comprobante-datos dt { margin-bottom: .25rem; color: #718196; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.comprobante-datos dd { margin: 0; color: #26384d; font-size: .92rem; font-weight: 800; overflow-wrap: anywhere; }
.comprobante-aviso { margin-top: 1.25rem; padding: 1rem 1.15rem; border-left: 4px solid #e2a826; border-radius: .75rem; background: #fff8e8; }
.comprobante-aviso strong { color: #795913; }
.comprobante-aviso p { margin: .25rem 0 0; color: #685d43; }
.comprobante-regreso { margin: 1.25rem 0 0; padding: 0 .15rem; color: #53667c; line-height: 1.6; }
.comprobante-logos { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 1rem; padding: .7rem 1rem; border-bottom: 1px solid #dce6ee; }
.comprobante-logos img { display: block; width: auto; max-width: 31%; height: 58px; object-fit: contain; }
.comprobante-logos img:nth-child(2) { height: 52px; }
.comprobante-acciones { display: flex; align-items: center; gap: .75rem; margin-top: 1.35rem; }
.comprobante-acciones form { margin: 0; }
@media (max-width: 650px) { .comprobante-encabezado { align-items: flex-start; flex-direction: column; }.comprobante-datos dl { grid-template-columns: 1fr; }.comprobante-acciones { align-items: stretch; flex-direction: column; }.comprobante-acciones .btn,.comprobante-acciones form,.comprobante-acciones form .btn { width: 100%; } }
@media print { .curpi-page .cabecera-flotante,.curpi-page .burbuja,.curpi-page .mensajes-curpi,.curpi-page .comprobante-acciones,.curpi-page .comprobante-aviso { display: none !important; }.curpi-pagina { min-height: auto; padding: 0; background: #fff; }.curpi-tarjeta { width: 100%; min-height: auto; padding: 0; border: 0 !important; box-shadow: none !important; }.comprobante-logos { break-inside: avoid; margin-bottom: 1rem; }.comprobante-logos img { print-color-adjust: exact; -webkit-print-color-adjust: exact; }.comprobante-encabezado { color: #173d32; border: 2px solid #176b52; background: #fff; box-shadow: none; }.comprobante-encabezado p { color: #405269; }.comprobante-icono { border-color: #176b52; }.comprobante-datos { break-inside: avoid; } }

.curpi-encabezado {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 1.75rem;
}

.curpi-encabezado h1 { margin: .35rem 0; font-size: clamp(1.8rem, 4vw, 2.6rem); }
.curpi-encabezado p { margin: 0; color: #68778a; }
.boton-salir { white-space: nowrap; border-radius: .8rem; }

.categorias-curpi {
    display: flex;
    gap: .45rem;
    margin-bottom: 1.5rem;
    padding: .45rem 1rem;
    border-radius: 1.15rem;
    background: #edf2f6;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: inline proximity;
    scrollbar-width: thin;
    scrollbar-color: rgba(36, 69, 115, .35) transparent;
    -webkit-overflow-scrolling: touch;
}

.categorias-curpi::-webkit-scrollbar {
    height: .35rem;
}

.categorias-curpi::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    background: rgba(36, 69, 115, .35);
}

.categoria-curpi {
    flex: 0 0 8.6rem;
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 3.65rem;
    padding: .6rem .7rem;
    border: 0;
    border-radius: .85rem;
    color: #617287;
    background: transparent;
    text-align: left;
    scroll-snap-align: start;
    transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
}

.categoria-curpi:first-child {
    margin-left: .5rem;
}

.categoria-curpi:last-child {
    margin-right: .5rem;
}

.categoria-curpi:hover { transform: translateY(-1px); }
.categoria-curpi.activa { color: #244573; background: #fff; box-shadow: 0 7px 20px rgba(36, 69, 115, .12); }
.categoria-numero { flex: 0 0 auto; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; color: #fff; background: #91a2b5; font-size: .67rem; font-weight: 800; }
.categoria-curpi.activa .categoria-numero { background: linear-gradient(135deg, #244573, #147ee6); }
.categoria-curpi strong, .categoria-curpi small { display: block; }
.categoria-curpi strong { font-size: .76rem; line-height: 1.15; }
.categoria-curpi small { margin-top: .12rem; font-size: .62rem; line-height: 1.15; }

.paneles-curpi {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid #dfe7ee;
    border-radius: 1.25rem;
    background: rgba(250, 252, 253, .78);
}

.panel-curpi { animation: aparecer-panel .3s ease; }
@keyframes aparecer-panel { from { opacity: 0; transform: translateX(8px); } to { opacity: 1; transform: translateX(0); } }
.panel-titulo { margin-bottom: 1.6rem; }
.panel-titulo > span { color: #14808c; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.panel-titulo h2 { margin: .25rem 0; font-size: 1.45rem; }
.panel-titulo p { margin: 0; color: #718196; font-size: .9rem; }
.subdivision-idiomas { position: relative; padding: 1.25rem; border: 1px solid #dbe6ef; border-radius: 1.1rem; background: #fff; box-shadow: 0 8px 24px rgba(36,69,115,.06); }
.subdivision-idiomas + .subdivision-idiomas { margin-top: 1.5rem; }
.subdivision-diversificacion { border-color: #cde5df; background: linear-gradient(145deg,#fff,#f7fcfb); }
.subdivision-encabezado { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; padding-bottom: .8rem; border-bottom: 1px solid #e4ebf1; }
.subdivision-encabezado > span { display: grid; flex: 0 0 2.2rem; height: 2.2rem; place-items: center; border-radius: .7rem; color: #fff; background: linear-gradient(135deg,#244573,#147ee6); font-size: .7rem; font-weight: 900; }
.subdivision-diversificacion .subdivision-encabezado > span { background: linear-gradient(135deg,#147a70,#20a58f); }
.subdivision-encabezado h3 { margin: 0; color: #30465f; font-size: 1.08rem; }
.subdivision-encabezado p { margin: .12rem 0 0; color: #718196; font-size: .78rem; }
.campo-idiomas-multiple { margin: 0; padding: 0; border: 0; }
.pregunta-idiomas-separada { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #dce9e5; }
#categoria-4 { counter-reset: pregunta-idioma; }
#categoria-4 .subdivision-idiomas .campos-curpi > div,
#categoria-4 .subdivision-diversificacion .campo-idiomas-multiple { position: relative; counter-increment: pregunta-idioma; padding-left: 3rem; }
#categoria-4 .subdivision-idiomas .campos-curpi > div::before,
#categoria-4 .subdivision-diversificacion .campo-idiomas-multiple::before { content: counter(pregunta-idioma, decimal-leading-zero); position: absolute; top: 0; left: 0; display: grid; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#147a70,#20a58f); font-size: .68rem; font-weight: 900; box-shadow: 0 4px 12px rgba(20,122,112,.18); }
#categoria-4 .subdivision-idiomas:not(.subdivision-diversificacion) .campos-curpi > div::before { background: linear-gradient(135deg,#244573,#147ee6); box-shadow: 0 4px 12px rgba(36,69,115,.18); }
.campo-idiomas-multiple legend { color: #405269; font-size: .9rem; font-weight: 800; }
.ayuda-campo { margin: -.2rem 0 .85rem; color: #718196; font-size: .76rem; font-style: italic; }
.escala-autonomia { margin: .9rem 0 0; }
.escala-autonomia > p { margin: .3rem 0; }
.pregunta-redes-prioridad.tiene-error .mensaje-redes-prioridad { display: block; }
.selector-prioridad-red:disabled { color: #8995a3; background-color: #edf0f3; cursor: not-allowed; }
.caracter-obligatorio { display: block; margin: .25rem 0 .65rem; color: #697a8c; font-size: .72rem; font-weight: 500; }
.opciones-idiomas { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.opcion-idioma { display: flex; align-items: center; gap: .65rem; min-height: 3rem; padding: .7rem .85rem; border: 1px solid #d5e2e7; border-radius: .8rem; background: #fff; color: #405269; cursor: pointer; transition: border-color .2s ease,background .2s ease,transform .2s ease; }
.opcion-idioma:hover { transform: translateY(-1px); border-color: #65b8a9; background: #f2fbf9; }
.opcion-idioma:has(input:checked) { border-color: #198b7c; background: #eaf8f5; box-shadow: 0 0 0 .16rem rgba(25,139,124,.1); }
.opcion-idioma:has(input:disabled) { opacity: .48; cursor: not-allowed; transform: none; }
.opcion-idioma.opcion-ninguno { border-color: #ead8ad; background: #fffaf0; }
.opcion-idioma.opcion-ninguno:hover { border-color: #d6ad58; background: #fff7e3; }
.opcion-idioma.opcion-ninguno:has(input:checked) { border-color: #b77628; background: #fff1cf; box-shadow: 0 0 0 .16rem rgba(183,118,40,.12); }
.opcion-idioma input { width: 1.05rem; height: 1.05rem; accent-color: #198b7c; }
.opcion-idioma span { font-weight: 400; }
.pregunta-tecnologia .opcion-idioma { display: flex; align-items: center; gap: .7rem; margin: 0; font-weight: 400; }
.pregunta-tecnologia .opcion-idioma input[type="checkbox"] { flex: 0 0 1.05rem; margin: 0; align-self: center; }
.pregunta-tecnologia .opcion-idioma span { flex: 1; min-width: 0; padding-left: .08rem; line-height: 1.4; }
.otro-idioma-contenedor { margin-top: 1rem; max-width: 32rem; }
.mensaje-idiomas { margin-top: .7rem; }
.campo-idiomas-multiple.tiene-error .mensaje-idiomas { display: block; }
.instrucciones-categoria { margin-bottom: 1.35rem; padding: 1.2rem; border: 1px solid #cfe1f2; border-radius: 1rem; background: linear-gradient(145deg,#f6fbff,#eef7ff); }
.instrucciones-categoria h3 { margin: 0 0 .55rem; color: #244573; font-size: 1rem; }
.instrucciones-categoria > p { margin: 0; color: #53677e; font-size: .82rem; line-height: 1.65; }
.instrucciones-categoria > p + p { margin-top: .75rem; }
.instrucciones-categoria > ul { color: #53677e; font-size: .82rem; line-height: 1.65; }
.instrucciones-habilidades > p { margin-bottom: 1rem; }
.escala-habilidades { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.escala-habilidades > div { display: flex; flex-direction: column; gap: .25rem; padding: .8rem; border-radius: .8rem; background: #fff; box-shadow: 0 4px 14px rgba(36,69,115,.06); }
.escala-habilidades strong { color: #147ee6; font-size: .8rem; }.escala-habilidades span { color: #6b7d90; font-size: .7rem; line-height: 1.45; }
.preguntas-habilidades { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.pregunta-habilidad { display: flex; align-items: flex-start; gap: .8rem; min-width: 0; padding: 1rem; border: 1px solid #dfe7ee; border-radius: .95rem; background: #fff; }
.pregunta-habilidad > span { display: grid; flex: 0 0 2rem; height: 2rem; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#244573,#147ee6); font-size: .68rem; font-weight: 900; }
.pregunta-habilidad > div { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: .75rem; }
.pregunta-habilidad label { color: #405269; font-size: .79rem; font-weight: 700; line-height: 1.5; }
.pregunta-habilidad select { min-height: 2.8rem; padding: .55rem .75rem; border: 1px solid #d5dee8; border-radius: .75rem; color: #405269; background: #fff; }
.pregunta-habilidad select:focus { outline: 0; border-color: #2479b9; box-shadow: 0 0 0 .2rem rgba(20,126,230,.12); }
.pregunta-habilidad select.is-valid { border-color: #198754; box-shadow: 0 0 0 .2rem rgba(25,135,84,.12); }
.pregunta-habilidad select.is-invalid { border-color: #dc3545; box-shadow: 0 0 0 .2rem rgba(220,53,69,.12); }
.subdivision-ocho { margin-top: 1.25rem; padding: 1.25rem; border: 1px solid #dce6ee; border-radius: 1.1rem; background: #fff; box-shadow: 0 8px 24px rgba(36,69,115,.05); }
.subdivision-ocho:first-of-type { margin-top: 0; }.subdivision-deportes { background: linear-gradient(145deg,#fff,#f6fbff); }.subdivision-cultura { background: linear-gradient(145deg,#fff,#fbf8ff); }
.subdivision-tres + .subdivision-tres { margin-top: 1.5rem; }.preguntas-tres { display: grid; grid-template-columns: 1fr; gap: 1rem; }.preguntas-tres > .pregunta-ocho { margin-top: 0; }.pregunta-tres-condicional { margin-left: 1.2rem; border-left: 3px solid #8eb9df; }.pregunta-tres-multiple.tiene-error { border-color: #dc3545; box-shadow: 0 0 0 .18rem rgba(220,53,69,.1); }.pregunta-tres-multiple.tiene-error .mensaje-idiomas { display:block; }
.pregunta-ocho { display: flex; align-items: flex-start; gap: .85rem; margin-top: 1rem; padding: 1rem; border: 1px solid #dfe7ee; border-radius: .95rem; background: rgba(255,255,255,.94); }
.pregunta-ocho .numero-pregunta { display: grid; flex: 0 0 2.15rem; height: 2.15rem; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#71479b,#a069c9); font-size: .68rem; font-weight: 900; box-shadow: 0 4px 12px rgba(113,71,155,.18); }
.pregunta-ocho .numero-subpregunta { font-size: .62rem; background: linear-gradient(135deg,#8758ad,#b986d5); }
.contenido-pregunta { flex: 1; min-width: 0; }.contenido-pregunta > label,.contenido-pregunta > legend { width: 100%; margin: 0 0 .7rem; color: #405269; font-size: .83rem; font-weight: 800; line-height: 1.5; }
.contenido-pregunta .form-select,.contenido-pregunta .form-control { border-color: #d5dee8; border-radius: .8rem; }
.opciones-amplias { grid-template-columns: repeat(3,minmax(0,1fr)); }
.condicional-ocho { margin-left: 1.2rem; padding-left: 1.2rem; border-left: 3px solid #cab0dd; }
.pregunta-ocho.tiene-error { border-color: #dc3545; box-shadow: 0 0 0 .18rem rgba(220,53,69,.1); }.pregunta-ocho.tiene-error .mensaje-idiomas { display: block; }
.subdivision-nueve + .subdivision-nueve { margin-top: 1.5rem; }
.preguntas-nueve { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.preguntas-nueve > .pregunta-ocho { height: 100%; margin-top: 0; }
.preguntas-nueve > .pregunta-ocho:has(+ .condicional-nueve) { grid-column: 1 / -1; }
.condicional-nueve { grid-column: 1 / -1; }
.condicional-nueve:not([hidden]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 0; }
.condicional-nueve > .pregunta-ocho { height: 100%; margin-top: 0; }
.preguntas-diez { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.preguntas-diez > .pregunta-ocho { height: 100%; margin-top: 0; }
.preguntas-diez > .pregunta-desplegable-diez,.preguntas-diez > .condicional-diez { grid-column: 1 / -1; }
.condicional-diez:not([hidden]) { display: block; margin: 0; }
.condicional-diez > .pregunta-ocho { margin-top: 0; }
.preguntas-profesionales { display: grid; gap: 1rem; }
.pregunta-profesional { margin: 0; padding: 1.15rem; border: 1px solid #dfe7ee; border-radius: 1rem; background: #fff; transition: border-color .2s ease,box-shadow .2s ease; }
.pregunta-profesional legend { display: flex; align-items: flex-start; gap: .8rem; width: 100%; margin: 0; color: #405269; font-size: .86rem; line-height: 1.55; }
.pregunta-profesional legend > span { display: grid; flex: 0 0 2.15rem; height: 2.15rem; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#244573,#147ee6); font-size: .68rem; font-weight: 900; }
.pregunta-profesional > p { margin: .25rem 0 .8rem 2.95rem; color: #7a8999; font-size: .72rem; font-style: italic; }
.respuestas-radio { display: grid; gap: .55rem; margin-left: 2.95rem; }
.respuestas-radio label,.opciones-liderazgo label { display: flex; align-items: flex-start; gap: .7rem; padding: .75rem .85rem; border: 1px solid #dce5ec; border-radius: .8rem; color: #52657a; background: #fbfcfd; cursor: pointer; font-size: .77rem; line-height: 1.5; transition: border-color .2s ease,background .2s ease,transform .2s ease; }
.respuestas-radio label:hover,.opciones-liderazgo label:hover { transform: translateY(-1px); border-color: #83b8e8; background: #f3f9ff; }
.respuestas-radio label:has(input:checked),.opciones-liderazgo label:has(input:checked) { border-color: #198754; background: #edf9f2; box-shadow: 0 0 0 .15rem rgba(25,135,84,.08); }
.respuestas-radio input,.opciones-liderazgo input { flex: 0 0 auto; width: 1.05rem; height: 1.05rem; margin-top: .15rem; accent-color: #198754; }
.pregunta-profesional:has(.respuestas-radio input:checked) { border-color: #8bc9a9; box-shadow: 0 0 0 .18rem rgba(25,135,84,.08); }
.pregunta-profesional.tiene-error { border-color: #dc3545; box-shadow: 0 0 0 .18rem rgba(220,53,69,.1); }
.pregunta-dos-select > select { width: calc(100% - 2.95rem); margin-left: 2.95rem; }
.pregunta-dos > .invalid-feedback { margin: .55rem 0 0 2.95rem; }
.pregunta-dos-multiple.tiene-error .mensaje-idiomas { display: block; }
.nota-conceptos-inegi { display: block; margin: .35rem 0 .75rem; color: #6f7f90; font-size: .72rem; line-height: 1.45; font-style: italic; }
.opciones-liderazgo { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; margin-left: 2.95rem; }
.opciones-liderazgo .opcion-excluyente { grid-column: 1 / -1; border-color: #ead8ad; background: #fffaf0; }
.opciones-liderazgo label:has(input:disabled) { opacity: .48; cursor: not-allowed; transform: none; }
.liderazgo-otra-contenedor { margin: 1rem 0 0 2.95rem; max-width: 34rem; }.liderazgo-otra-contenedor label { display: block; margin-bottom: .45rem; color: #405269; font-size: .8rem; }
.mensaje-liderazgo { margin: .7rem 0 0 2.95rem; }.pregunta-liderazgo.tiene-error .mensaje-liderazgo { display: block; }
.campos-curpi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.campos-curpi.una-columna { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.campo-completo { grid-column: 1 / -1; }
.campos-curpi .form-label { color: #405269; font-size: .8rem; font-weight: 700; }
.campos-curpi .form-control, .campos-curpi .form-select { min-height: 3.25rem; border-color: #d5dee8; border-radius: .85rem; background-color: #fff; }
.campos-curpi .form-control:focus, .campos-curpi .form-select:focus { border-color: #2479b9; box-shadow: 0 0 0 .22rem rgba(20, 126, 230, .12); }
.campos-curpi .form-control.is-invalid,
.campos-curpi .form-select.is-invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .14);
}
.campos-curpi .form-control.is-valid,
.campos-curpi .form-select.is-valid {
    border-color: #198754;
    box-shadow: 0 0 0 .2rem rgba(25, 135, 84, .14);
}
.campos-curpi .form-control[readonly] { color: #68778a; background: #eef2f5; }
.campos-curpi .form-select:disabled { color: #8a96a5; background-color: #e9edf1; border-color: #d8dee5; cursor: not-allowed; opacity: 1; }
.categoria-uno .campos-curpi > div:not([hidden]) { padding: 1rem; border: 1px solid #dfe7ee; border-radius: .95rem; background: rgba(255,255,255,.94); }
.categoria-uno .campos-curpi .form-label,.categoria-uno .campos-curpi > div > label { display:block; margin:0 0 .7rem; color:#405269; font-size:.83rem; font-weight:800; line-height:1.5; }
.categoria-uno .campos-curpi fieldset { margin:0; padding:1.15rem; border:1px solid #dfe7ee; border-radius:1rem; background:#fff; }
.categoria-uno .campos-curpi fieldset legend { color:#405269; font-size:.86rem; font-weight:800; line-height:1.55; }
.opciones-en-linea { display:grid; gap:.55rem; margin-top:.8rem; }
.opciones-en-linea label { display:flex; align-items:flex-start; gap:.7rem; padding:.75rem .85rem; border:1px solid #dce5ec; border-radius:.8rem; color:#52657a; background:#fbfcfd; cursor:pointer; font-size:.77rem; line-height:1.5; transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.opciones-en-linea label:hover { transform:translateY(-1px); border-color:#83b8e8; background:#f3f9ff; }.opciones-en-linea label:has(input:checked){border-color:#198754;background:#edf9f2;box-shadow:0 0 0 .15rem rgba(25,135,84,.08)}.opciones-en-linea input{flex:0 0 auto;width:1.05rem;height:1.05rem;margin-top:.15rem;accent-color:#198754}
.campos-curpi textarea.form-control { min-height: 8rem; resize: vertical; }
.acciones-panel { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.acciones-panel .btn { min-width: 9rem; border-radius: .85rem; font-weight: 700; }

@media (max-width: 650px) {
    .curpi-encabezado { align-items: stretch; flex-direction: column; gap: 1rem; }
    .curpi-encabezado form { align-self: flex-start; }
    .campos-curpi,
    .campos-curpi.una-columna { grid-template-columns: 1fr; }
    .opciones-idiomas { grid-template-columns: 1fr; }
    .escala-habilidades,.preguntas-habilidades { grid-template-columns: 1fr; }
    .preguntas-nueve,.condicional-nueve:not([hidden]),.preguntas-diez { grid-template-columns: 1fr; }
    .opciones-amplias { grid-template-columns: 1fr; }.condicional-ocho { margin-left: 0; padding-left: .7rem; }
    .respuestas-radio,.opciones-liderazgo,.liderazgo-otra-contenedor { margin-left: 0; }.opciones-liderazgo { grid-template-columns: 1fr; }.pregunta-profesional > p { margin-left: 0; }
    .pregunta-dos-select > select { width: 100%; margin-left: 0; }.pregunta-dos > .invalid-feedback { margin-left: 0; }
    .categorias-curpi {
        width: calc(100% + 1rem);
        margin-inline: -.5rem;
        padding-inline: 1rem;
        scroll-snap-type: inline mandatory;
    }
    .categoria-curpi {
        flex-basis: min(72vw, 12rem);
        padding: .7rem .8rem;
    }
    .acciones-panel { align-items: stretch; flex-direction: column-reverse; }
    .acciones-panel .btn { width: 100%; }
}

dt {
    color: #68778a;
    font-size: .85rem;
}

dd {
    margin: .2rem 0 0;
    font-weight: 600;
}

/* Breakpoints Bootstrap: en lg, md y sm el rótulo ocupa la franja superior. */
@media (max-width: 1199.98px) {
    .cabecera-flotante {
        top: 1rem;
        left: 1rem;
        gap: .75rem;
        max-width: calc(100vw - 2rem);
    }

    .rotulo-curpi {
        width: min(40rem, calc(100vw - 6rem));
    }

}

@media (max-width: 600px) {
    .tarjeta {
        padding: 1.5rem;
    }

    .cabecera-flotante {
        top: 1rem;
        left: 1rem;
        gap: .5rem;
        max-width: calc(100vw - 2rem);
    }

    .rotulo-curpi {
        width: calc(100vw - 5.75rem);
        min-width: 0;
        min-height: 3.25rem;
        padding: .55rem .75rem;
        border-left-width: 3px;
        border-radius: .75rem;
    }

    .rotulo-curpi strong {
        font-size: .58rem;
        line-height: 1.3;
    }

    .rotulo-curpi .nombre-pista {
        margin-top: .2rem;
        font-size: .62rem;
    }

}

@media (max-width: 575.98px) {
    .login-page .acceso {
        grid-template-columns: 1fr;
    }

    .acceso-informacion,
    .acceso-formulario {
        padding: 1.5rem;
    }

    .acceso-informacion {
        padding: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(36, 69, 115, .28);
    }
}

@media (prefers-reduced-motion: reduce) {
    .login-page .pagina::before {
        animation: none;
    }

    .flotante {
        animation: none;
    }

    .acceso-formulario .form-control,
    .acceso-formulario .btn,
    .acceso-formulario .btn::before,
    #modal-registro .form-control,
    #modal-registro .modal-footer .btn {
        transition: none;
    }
}

/* Panel administrativo de instrumentos */
.configuracion-curpi-card { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin:1rem 0; padding:1.15rem 1.3rem; border:1px solid #dce6ee; border-radius:1rem; background:#fff; box-shadow:0 8px 24px rgba(36,69,115,.05); }.configuracion-curpi-card h2{margin:.1rem 0;font-size:1.05rem;color:#244573}.configuracion-curpi-card p{margin:0;color:#718196;font-size:.8rem}.configuracion-curpi-card > div > span{color:#147ee6;font-size:.7rem;font-weight:800;text-transform:uppercase}.configuracion-curpi-card form{display:flex;align-items:end;gap:.65rem}.configuracion-curpi-card label,.filtros-curpi label{display:grid;gap:.3rem;color:#405269;font-size:.75rem;font-weight:800}.configuracion-curpi-card input,.filtros-curpi select{min-height:2.65rem;padding:.55rem .8rem;border:1px solid #d5dee8;border-radius:.75rem;background:#fff;color:#405269}.configuracion-curpi-card button{min-height:2.65rem;padding:.55rem 1rem;border:0;border-radius:.75rem;background:#147ee6;color:#fff;font-weight:800}.filtros-curpi{display:flex;align-items:end;gap:1rem}.filtros-curpi label{min-width:15rem}
.configuracion-curpi-card{align-items:flex-start}.configuracion-curpi-encabezado{min-width:15rem;padding:.35rem 0}.tabla-configuracion-contenedor{flex:1;min-width:0}.tabla-configuracion-curpi{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #dce6ee;border-radius:.8rem}.tabla-configuracion-curpi th,.tabla-configuracion-curpi td{padding:.72rem .85rem;text-align:left;border-bottom:1px solid #e7edf3;color:#405269;font-size:.78rem}.tabla-configuracion-curpi th{background:#f4f8fc;color:#607086;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.tabla-configuracion-curpi tbody tr:last-child td{border-bottom:0}.estado-configuracion{display:inline-flex;padding:.3rem .58rem;border-radius:999px;font-size:.68rem;font-weight:800}.estado-configuracion.configurado{background:#e8f7ef;color:#187246}.estado-configuracion.pendiente{background:#fff3d6;color:#946313}.configuracion-curpi-card .boton-editar-semestre{min-height:2.15rem;padding:.35rem .75rem;background:#eef5fc;color:#1d619b}.configuracion-curpi-card .boton-editar-semestre:disabled{opacity:.5}.configuracion-curpi-card .formulario-edicion-semestre{display:flex;margin-top:.8rem;padding:.85rem;border:1px solid #dce6ee;border-radius:.8rem;background:#f8fbfe;flex-wrap:wrap}.configuracion-curpi-card .formulario-edicion-semestre[hidden]{display:none}.formulario-edicion-semestre label{flex:1;min-width:13rem}.formulario-edicion-semestre>div{display:flex;gap:.5rem}.configuracion-curpi-card .boton-cancelar-semestre{background:#e8edf2;color:#45566b}.formulario-edicion-semestre>p{flex-basis:100%;margin-top:.6rem}.filtros-curpi select{min-width:16rem}@media(max-width:850px){.configuracion-curpi-card{display:block}.tabla-configuracion-contenedor{margin-top:1rem;overflow-x:auto}.filtros-curpi{align-items:stretch;flex-direction:column}.filtros-curpi label,.filtros-curpi select{width:100%;min-width:0}}
.subdivision-curpi { margin-top: 1.25rem; padding: 1.25rem; border: 1px solid #dce6ee; border-radius: 1.1rem; background: #fff; box-shadow: 0 8px 24px rgba(36,69,115,.05); }
.subdivision-curpi:first-of-type { margin-top: 0; }
.subdivision-curpi:nth-of-type(even) { background: linear-gradient(145deg,#fff,#f6fbff); }
.preguntas-tecnologia { display: grid; gap: 1rem; }
.pregunta-tecnologia { display: flex; align-items: flex-start; gap: .85rem; padding: 1rem; border: 1px solid #dfe7ee; border-radius: .95rem; background: rgba(255,255,255,.94); }
.pregunta-tecnologia .numero-pregunta,.matriz-encabezado .numero-pregunta { display: grid; flex: 0 0 2.15rem; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#244573,#147ee6); box-shadow: 0 4px 12px rgba(36,69,115,.18); font-size: .68rem; font-weight: 900; }
.pregunta-tecnologia > div { flex: 1; min-width: 0; }.pregunta-tecnologia label,.pregunta-tecnologia legend { display: block; width: 100%; margin: 0 0 .7rem; color: #405269; font-size: .83rem; font-weight: 800; line-height: 1.5; }.pregunta-tecnologia select { width: 100%; min-height: 2.8rem; padding: .55rem .75rem; border: 1px solid #d5dee8; border-radius: .8rem; color: #405269; background: #fff; }
.pregunta-tecnologia select:focus,.tabla-matriz-contenedor select:focus { outline: 0; border-color: #2479b9; box-shadow: 0 0 0 .2rem rgba(20,126,230,.12); }.pregunta-tecnologia select.is-valid,.tabla-matriz-contenedor select.is-valid { border-color: #198754; box-shadow: 0 0 0 .2rem rgba(25,135,84,.12); }.pregunta-tecnologia select.is-invalid,.tabla-matriz-contenedor select.is-invalid { border-color: #dc3545; box-shadow: 0 0 0 .2rem rgba(220,53,69,.12); }
.pregunta-tecnologia-multiple { min-width: 0; }.pregunta-tecnologia-multiple.tiene-error { border-color: #dc3545; box-shadow: 0 0 0 .16rem rgba(220,53,69,.1); }.pregunta-tecnologia-multiple.tiene-error .invalid-feedback { display: block; }
.pregunta-matriz { margin-top: 1rem; overflow: hidden; border: 1px solid #dce6ee; border-radius: 1rem; background: #fff; }
.matriz-encabezado { display: flex; gap: .85rem; align-items: start; padding: 1rem 1rem .8rem; }.matriz-encabezado > div { min-width: 0; }.matriz-encabezado h3 { margin: 0; color: #405269; font-size: .83rem; font-weight: 800; line-height: 1.5; }.matriz-encabezado p { margin: .35rem 0 0; color: #718196; font-size: .76rem; }
.tabla-matriz-contenedor { overflow-x: auto; }.tabla-matriz-contenedor table { width: 100%; border-collapse: collapse; }.tabla-matriz-contenedor th { padding: .75rem 1rem; color: #fff; background: #405f83; font-size: .78rem; text-align: left; }.tabla-matriz-contenedor td { width: 50%; padding: .75rem 1rem; border-top: 1px solid #e2e9ef; color: #405269; font-size: .82rem; }.tabla-matriz-contenedor tr:nth-child(even) td { background: #f7fafc; }.tabla-matriz-contenedor select { width: 100%; min-width: 190px; padding: .62rem; border: 1px solid #cbd8e3; border-radius: .6rem; background: #fff; }
@media (max-width: 650px) { .tabla-matriz-contenedor table,.tabla-matriz-contenedor tbody,.tabla-matriz-contenedor tr,.tabla-matriz-contenedor td { display: block; width: 100%; }.tabla-matriz-contenedor thead { display:none; }.tabla-matriz-contenedor tr { padding: .65rem; border-top: 1px solid #e2e9ef; }.tabla-matriz-contenedor td { padding: .35rem; border: 0; background: transparent !important; }.tabla-matriz-contenedor select { min-width: 0; } }

.estadisticos-page { min-height: 100vh; color: #26384d; background: #f3f6f9; }
.admin-navbar { z-index: 1030; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: .9rem clamp(1rem, 5vw, 4.5rem); border-bottom: 1px solid #dce5ed; background: rgba(255,255,255,.96); box-shadow: 0 5px 24px rgba(30,55,83,.07); backdrop-filter: blur(12px); }
.admin-marca { display: flex; align-items: baseline; gap: .8rem; color: #244573; text-decoration: none; }
.admin-marca strong { font-size: 1.45rem; letter-spacing: .08em; }
.admin-marca span { color: #718196; font-size: .75rem; }
.admin-sesion { display: flex; align-items: center; gap: 1rem; font-size: .82rem; }
.admin-sesion button { padding: .55rem .9rem; border: 1px solid #cbd6e0; border-radius: .7rem; color: #405269; background: #fff; font-weight: 700; }
.admin-navbar { border-bottom: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.admin-rotulo { display: block; max-width: min(42rem,calc(100vw - 18rem)); padding: .6rem 1rem; border-left: 4px solid #244573; border-radius: .8rem; background: rgba(255,255,255,.96); box-shadow: 0 10px 26px rgba(36,69,115,.12); }
.admin-rotulo strong { display: block; font-size: clamp(.62rem,1vw,.82rem); line-height: 1.25; letter-spacing: .045em; }
.admin-rotulo span { display: block; margin-top: .25rem; font-size: .68rem; font-style: italic; line-height: 1.3; }
.admin-rotulo span b { font-size: 1.12em; font-style: normal; font-weight: 900; }
.instrumentos-contenedor, .curpi-dashboard { width: min(1480px, calc(100% - 2rem)); margin: auto; padding: clamp(2rem,5vw,4rem) 0; }
.instrumentos-encabezado span, .dashboard-encabezado > div > span, .seccion-titulo > span { color: #147ee6; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.instrumentos-encabezado h1, .dashboard-encabezado h1 { margin: .35rem 0; color: #203b60; font-size: clamp(2rem,4vw,3.25rem); }
.instrumentos-encabezado p, .dashboard-encabezado p { color: #718196; }
.instrumentos-encabezado,.dashboard-encabezado { padding: clamp(1.25rem,3vw,2rem); border-left: 5px solid #244573; border-radius: 1rem; background: rgba(255,255,255,.94); box-shadow: 0 14px 38px rgba(36,69,115,.1); }
.instrumentos-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.4rem; margin-top: 2.25rem; }
.instrumento-logo-card { position: relative; display: block; width: fit-content; max-width: 100%; min-width: 0; justify-self: center; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; text-decoration: none; transition: transform .25s ease,filter .25s ease; }
.instrumento-imagen { position: relative; display: block; width: fit-content; max-width: 100%; overflow: hidden; }
.instrumento-logo-card img { display: block; width: auto; max-width: 100%; height: 300px; padding: 0; object-fit: contain; background: transparent; }
.instrumento-logo-card.instrumento-activo { color: #fff; border: 0; background: transparent; box-shadow: none; }
.instrumento-logo-card.instrumento-activo::after { display: none; }
.instrumento-logo-card.instrumento-activo:hover { color: #fff; transform: translateY(-4px); filter: drop-shadow(0 18px 24px rgba(20,90,165,.2)); }
.instrumento-logo-card .instrumento-accion { position: absolute; z-index: 2; inset: 0; display: flex; align-items: flex-end; justify-content: flex-start; gap: .45rem; margin: 0; padding: 1.15rem; color: #fff; background: linear-gradient(135deg,rgba(23,61,114,.12),rgba(9,108,201,.88)); font-size: clamp(.9rem,1.5vw,1.15rem); font-weight: 900; opacity: 0; transition: opacity .25s ease; }
.instrumento-logo-card:hover .instrumento-accion,.instrumento-logo-card:focus-visible .instrumento-accion { opacity: 1; }
.instrumento-nombre { display: block; max-width: 100%; padding: .75rem .35rem 0; color: #405269; font-size: .88rem; font-weight: 800; line-height: 1.35; text-align: center; }
.instrumento-logo-card .instrumento-estado { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; margin: 0; padding: .45rem .7rem; border-radius: .55rem; color: #66778a; background: rgba(255,255,255,.94); box-shadow: 0 6px 18px rgba(36,69,115,.14); font-size: .7rem; }
.instrumento-logo-card.instrumento-bloqueado img { opacity: .55; filter: grayscale(.7); }
.instrumento-card { position: relative; display: flex; min-height: 265px; flex-direction: column; padding: clamp(1.5rem,3vw,2.4rem); overflow: hidden; border: 1px solid transparent; border-radius: 1.4rem; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.instrumento-card h2 { max-width: 650px; margin: .75rem 0; font-size: clamp(1.25rem,2vw,1.75rem); line-height: 1.22; }
.instrumento-card p { max-width: 600px; margin-bottom: 1.5rem; }
.instrumento-clave { width: fit-content; padding: .38rem .7rem; border-radius: 2rem; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.instrumento-activo { color: #fff; background: linear-gradient(135deg,#173d72 0%,#096cc9 55%,#27a8d1 120%); box-shadow: 0 22px 45px rgba(20,90,165,.24); }
.instrumento-activo::after { position: absolute; right: -60px; bottom: -110px; width: 260px; height: 260px; border: 45px solid rgba(255,255,255,.09); border-radius: 50%; content: ''; }
.instrumento-activo:hover { color: #fff; transform: translateY(-5px); box-shadow: 0 28px 55px rgba(20,90,165,.3); }
.instrumento-activo .instrumento-clave { background: rgba(255,255,255,.17); }
.instrumento-accion { margin-top: auto; font-weight: 800; }
.instrumento-bloqueado { color: #718196; border-color: transparent; background: transparent; }
.instrumento-bloqueado .instrumento-clave { color: #627285; background: #d8dee4; }
.instrumento-estado { width: fit-content; margin-top: auto; padding: .4rem .7rem; border-radius: .55rem; color: #788797; background: #dce1e6; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.dashboard-miga { display: flex; gap: .55rem; margin-bottom: 1.6rem; color: #8391a1; font-size: .82rem; }
.dashboard-miga a { color: #147ee6; text-decoration: none; }
.dashboard-encabezado { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.dashboard-total { min-width: 150px; padding: 1rem 1.25rem; border-radius: 1rem; color: #fff; background: linear-gradient(135deg,#244573,#147ee6); box-shadow: 0 12px 30px rgba(36,69,115,.2); }
.dashboard-total small, .dashboard-total strong { display: block; }
.dashboard-total strong { font-size: 2rem; }
.filtros-anio { display: flex; align-items: center; gap: .6rem; margin: 2rem 0 1.2rem; overflow-x: auto; padding-bottom: .35rem; }
.filtro-anio { flex: 0 0 auto; padding: .65rem 1rem; border: 1px solid #d5dfe8; border-radius: 2rem; color: #53667c; background: #fff; font-weight: 750; }
.filtro-anio.activo { border-color: #147ee6; color: #fff; background: #147ee6; box-shadow: 0 7px 18px rgba(20,126,230,.22); }
.sin-fecha { color: #8290a0; font-size: .85rem; }
.datos-card, .grafica-card { border: 1px solid #dce5ed; border-radius: 1.25rem; background: #fff; box-shadow: 0 12px 35px rgba(35,57,82,.08); }
.datos-card { overflow: hidden; }
.datos-card-cabecera { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding: 1.4rem 1.6rem; border-bottom: 1px solid #e2e9ef; }
.datos-card-cabecera span { color: #718196; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.datos-card-cabecera h2 { margin: .25rem 0 0; font-size: 1.25rem; }
.acciones-tabla { display: flex; align-items: end; gap: .75rem; }.boton-descargar-xlsx { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.7rem; padding: .65rem .85rem; border-radius: .7rem; color: #fff; background: #198754; font-size: .78rem; font-weight: 800; text-decoration: none; white-space: nowrap; box-shadow: 0 7px 18px rgba(25,135,84,.18); }.boton-descargar-xlsx:hover { color:#fff; background:#146c43; }.boton-descargar-xlsx svg { width:1.1rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.descarga-tabla-pie { display: flex; justify-content: flex-end; margin-top: .85rem; }
.buscador-tabla { min-width: min(100%,320px); }
.buscador-tabla span { display: block; margin-bottom: .35rem; }
.buscador-tabla input { width: 100%; padding: .7rem .9rem; border: 1px solid #cfdae4; border-radius: .75rem; outline: none; }
.buscador-tabla input:focus { border-color: #147ee6; box-shadow: 0 0 0 .2rem rgba(20,126,230,.12); }
.tabla-curpi-contenedor { max-height: 590px; overflow: auto; }
.tabla-curpi { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; font-size: .78rem; }
.tabla-curpi th { position: sticky; z-index: 2; top: 0; min-width: 135px; padding: .8rem; border-right: 1px solid #dfe7ee; border-bottom: 1px solid #d5dfe8; color: #fff; background: #244573; text-align: left; vertical-align: bottom; }
.tabla-curpi th > span { display: inline; }
.boton-filtro-columna { float: right; display: inline-grid; width: 1.7rem; height: 1.7rem; margin: -.25rem -.3rem .15rem .4rem; padding: .3rem; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: .4rem; color: #fff; background: rgba(255,255,255,.08); }
.boton-filtro-columna:hover { background: rgba(255,255,255,.2); }.boton-filtro-columna svg { width: 100%; fill: currentColor; }
.filtro-columna { display: none; width: 100%; margin-top: .55rem; padding: .45rem .55rem; border: 1px solid #aac7e3; border-radius: .45rem; color: #26384d; background: #fff; font-size: .72rem; outline: none; }
.filtro-columna.visible, .filtro-columna:not(:placeholder-shown) { display: block; }
.tabla-curpi td { max-width: 280px; padding: .75rem .8rem; border-right: 1px solid #edf1f4; border-bottom: 1px solid #e5ebf0; background: #fff; vertical-align: top; }
.tabla-curpi tbody tr:nth-child(even) td { background: #f6f9fb; }
.tabla-curpi tbody tr:hover td { background: #eaf4fd; }
.tabla-vacia { display: none; padding: 2rem; color: #788797; text-align: center; }
.tabla-vacia.visible { display: block; }
.paginacion-tabla { display: flex; justify-content: center; gap: .4rem; padding: 1rem; border-top: 1px solid #e5ebf0; }
.paginacion-tabla:empty { display: none; }.paginacion-tabla button { min-width: 2.35rem; padding: .48rem .7rem; border: 1px solid #d4dee7; border-radius: .55rem; color: #53667c; background: #fff; font-weight: 700; }
.paginacion-tabla button.activo { border-color: #147ee6; color: #fff; background: #147ee6; }.paginacion-tabla button:disabled { opacity: .45; }
.estadisticas-generales, .categorias-estadisticas { margin-top: 3rem; }
.seccion-titulo h2 { margin: .3rem 0 1.4rem; color: #203b60; }
.categorias-resumen { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .75rem; }
.categorias-resumen .categoria-selector { display: flex; align-items: center; gap: .7rem; padding: .9rem; border: 1px solid #dde5ec; border-radius: .85rem; color: #26384d; background: #fff; text-align: left; transition: border-color .2s ease, transform .2s ease; }
.categorias-resumen .categoria-selector:hover { transform: translateY(-2px); border-color: #9bc9f2; }
.categorias-resumen .categoria-selector > span:first-child { display: grid; flex: 0 0 2rem; height: 2rem; place-items: center; border-radius: 50%; color: #fff; background: #91a2b5; font-size: .66rem; font-weight: 900; }
.categorias-resumen strong, .categorias-resumen small { display: block; }
.categorias-resumen strong { font-size: .78rem; }.categorias-resumen small { color: #8290a0; font-size: .65rem; }
.categorias-resumen .categoria-destacada { border-color: #147ee6; background: #edf7ff; box-shadow: 0 7px 18px rgba(20,126,230,.1); }
.categorias-resumen .categoria-destacada > span:first-child { background: #147ee6; }
.categoria-panel { margin-top: 1.3rem; padding: clamp(1rem,2vw,1.5rem); border: 1px solid #dce5ed; border-radius: 1.15rem; background: #fff; box-shadow: 0 12px 35px rgba(35,57,82,.08); }
.categoria-panel-cabecera { margin-bottom: 1rem; }.categoria-panel-cabecera span { color: #147ee6; font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.categoria-panel-cabecera h3 { margin: .2rem 0; color: #203b60; }
.preguntas-estadisticas { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.grupo-pregunta-card { min-width: 0; overflow: hidden; border: 1px solid #d9e4ec; border-radius: 1.05rem; background: #fff; box-shadow: 0 10px 28px rgba(35,57,82,.07); }
.grupo-pregunta-encabezado { display: flex; align-items: flex-start; gap: .8rem; padding: 1rem 1.15rem; color: #405269; background: linear-gradient(145deg,#f4f9fd,#f8f5fc); }
.grupo-pregunta-encabezado > span { flex: 0 0 auto; padding: .38rem .65rem; border-radius: 2rem; color: #fff; background: linear-gradient(135deg,#244573,#147ee6); font-size: .7rem; font-weight: 900; }
.grupo-pregunta-encabezado > strong { padding-top: .28rem; font-size: .84rem; line-height: 1.45; }
.grupo-pregunta-contenido { display: grid; grid-template-columns: 1fr; gap: 1px; background: #dfe7ee; }
.grupo-pregunta-contenido > .pregunta-card { border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.grupo-pregunta-contenido > .pregunta-card:only-child { grid-column: 1 / -1; }
.pregunta-card { min-width: 0; min-height: 360px; padding: 1.2rem; border: 1px solid #e0e7ed; border-radius: .9rem; background: #f9fbfc; }
.pregunta-card h4 { color: #405269; font-size: .95rem; }.pregunta-card > p { color: #8290a0; font-size: .75rem; }.pregunta-selector canvas { width: 100% !important; height: 285px !important; }
.pregunta-reporte-numero { display: inline-flex; margin-bottom: .7rem; padding: .3rem .58rem; border-radius: 2rem; color: #fff; background: #244573; font-size: .68rem; font-weight: 900; letter-spacing: .03em; }
.pregunta-reporte-numero.es-subpregunta { color: #68418b; background: #efe5f7; }
.grupo-reporte-idiomas { display: flex; grid-column: 1 / -1; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #d9e4ec; border-radius: 1rem; background: #f9fbfc; box-shadow: 0 8px 24px rgba(36,69,115,.06); }
.grupo-reporte-idiomas .pregunta-card { width: 100%; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.grupo-reporte-idiomas .pregunta-selector { border-bottom: 1px solid #dfe7ed; }
.grupo-reporte-idiomas .pregunta-abierta { min-height: auto; padding-top: 1.35rem; }
.categoria-sin-preguntas { grid-column: 1 / -1; min-height: 10rem; display: grid; align-content: center; text-align: center; }
.controles-tabla-abierta { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .7rem; }.controles-tabla-abierta input { min-width: 0; flex: 1; padding: .55rem .7rem; border: 1px solid #cfdae4; border-radius: .6rem; outline: none; }.controles-tabla-abierta input:focus { border-color: #147ee6; box-shadow: 0 0 0 .16rem rgba(20,126,230,.1); }.controles-tabla-abierta span { flex: 0 0 auto; color: #718196; font-size: .7rem; font-weight: 750; }
.tabla-abierta-contenedor { max-height: 300px; overflow: auto; border: 1px solid #dde5ec; border-radius: .65rem; }.tabla-abierta-contenedor table { width: 100%; border-collapse: collapse; font-size: .75rem; }.tabla-abierta-contenedor th { position: sticky; top: 0; padding: .65rem; color: #fff; background: #405269; text-align: left; }.tabla-abierta-contenedor td { padding: .6rem; border-bottom: 1px solid #e2e9ef; vertical-align: top; }.tabla-abierta-contenedor td:first-child { width: 135px; font-weight: 750; white-space: nowrap; }
.paginacion-abierta { padding: .75rem 0 0; border-top: 0; flex-wrap: wrap; }
.graficas-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem; margin-top: 1.3rem; }
.grafica-card { min-height: 380px; padding: 1.4rem; }.grafica-card h3 { margin-bottom: 1rem; color: #405269; font-size: 1rem; }
.grafica-card .grafica-d3 { width: 100%; min-height: 300px; }
@media (max-width: 900px) { .instrumentos-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.graficas-grid,.preguntas-estadisticas { grid-template-columns: 1fr; }.grupo-pregunta-contenido { grid-template-columns: 1fr; }.categorias-resumen { grid-template-columns: repeat(2,minmax(0,1fr)); }.admin-marca span { display:none; }.dashboard-encabezado,.datos-card-cabecera { align-items: stretch; flex-direction: column; }.dashboard-total { width: 100%; }.acciones-tabla { align-items:stretch; flex-direction:column; }.buscador-tabla { width:100%; } }
@media (max-width: 575px) { .admin-navbar { align-items:flex-start; gap:.75rem; padding:.65rem; }.admin-rotulo { max-width:calc(100vw - 8.5rem); }.admin-sesion > span { display:none; }.instrumentos-grid { grid-template-columns:1fr; }.instrumento-card { min-height:240px; }.instrumento-logo-card img { height:220px; }.categorias-resumen { grid-template-columns:1fr; } }

.admin-enlace,.admin-navegacion a { color:#294b68; font-weight:700; text-decoration:none; }
.admin-enlace:hover,.admin-navegacion a:hover,.admin-navegacion a.activo { color:#8b1d41; }
.admin-navegacion { display:flex; align-items:center; gap:1rem; }
.administracion-contenedor { width:min(1400px,calc(100% - 2rem)); margin:1.5rem auto 4rem; }
.tabla-administracion-contenedor { overflow:auto; }
.tabla-administracion { width:100%; min-width:760px; border-collapse:collapse; }
.tabla-administracion th,.tabla-administracion td { padding:.85rem 1rem; border-bottom:1px solid #e3e9ee; text-align:left; vertical-align:middle; }
.tabla-administracion th { background:#f5f8fa; color:#294b68; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; }
.boton-editar-estudiante { border:1px solid #8b1d41; border-radius:.55rem; background:#fff; color:#8b1d41; padding:.4rem .85rem; font-weight:700; }
.boton-editar-estudiante:hover { background:#8b1d41; color:#fff; }
.modal-administracion .modal-body { display:grid; gap:1rem; }
.modal-administracion .modal-body label { display:grid; gap:.35rem; color:#294b68; font-weight:700; }
.aviso-preservacion { margin:0; padding:.85rem; border-radius:.65rem; background:#eef5f8; color:#334f61; font-size:.9rem; }
.paginacion-administracion { display:flex; justify-content:center; align-items:center; gap:1rem; padding:1rem; }
.paginacion-administracion a { border:1px solid #ccd8e1; border-radius:.5rem; padding:.45rem .8rem; color:#294b68; text-decoration:none; font-weight:700; }
.paginacion-administracion a.deshabilitado { opacity:.45; pointer-events:none; }
.buscador-tabla button { border:0; border-radius:.45rem; background:#294b68; color:#fff; padding:.45rem .75rem; }
.panel-kpis { display:block; }
.panel-kpis[hidden] { display:none; }
.kpis-encabezado { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin:1.25rem 0; padding:1.25rem 1.4rem; border-radius:1rem; background:linear-gradient(135deg,#173c58,#285f7d); color:#fff; }
.kpis-encabezado span,.kpi-categoria>header span { text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; font-weight:800; }
.kpis-encabezado h2,.kpis-encabezado p { margin:.2rem 0 0; }
.kpis-encabezado>strong { white-space:nowrap; padding:.55rem .85rem; border-radius:2rem; background:rgba(255,255,255,.15); }
.kpis-categorias { display:grid; gap:1.25rem; }
.kpi-categoria { padding:1.15rem; border:1px solid #dfe8ee; border-radius:1rem; background:#fff; box-shadow:0 8px 24px rgba(29,57,77,.06); }
.kpi-categoria>header { margin-bottom:.85rem; }
.kpi-categoria>header span { color:#8b1d41; }
.kpi-categoria>header h3 { margin:.15rem 0 0; color:#233f53; font-size:1.15rem; }
.kpi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:.85rem; }
.kpi-categoria-compacta .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kpi-card { position:relative; min-width:0; max-width:100%; padding:1rem; overflow:hidden; border:1px solid #e4ebf0; border-radius:.8rem; background:linear-gradient(160deg,#fff,#f7fbfd); box-shadow:0 5px 15px rgba(31,63,83,.05); }
.kpi-card::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:linear-gradient(#147ee6,#28a9c7); }
.kpi-card>header { display:flex; align-items:flex-start; gap:.55rem; min-height:2.7rem; margin-bottom:.8rem; }
.kpi-card>header span { flex:none; padding:.2rem .45rem; border-radius:.35rem; background:#e8f1f6; color:#315f79; font-size:.72rem; font-weight:800; }
.kpi-card h4 { margin:0; color:#243f51; font-size:.94rem; line-height:1.35; }
.kpi-barras { display:grid; width:100%; min-width:0; gap:.55rem; }
.kpi-barra>div { display:flex; justify-content:space-between; gap:.7rem; font-size:.78rem; }
.kpi-barra span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#3c5362; }
.kpi-barra>i { display:block; width:100%; max-width:100%; height:.42rem; margin-top:.2rem; border-radius:1rem; overflow:hidden; background:#e5edf2; }
.kpi-barra>i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#1668ad,#38a5bd); }
.kpi-dona-zona { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; gap:1.25rem; overflow:hidden; }
.kpi-dona { position:relative; display:grid; place-content:center; flex:none; width:125px; aspect-ratio:1; border-radius:50%; text-align:center; }
.kpi-dona::after { content:''; position:absolute; inset:20px; border-radius:50%; background:#fff; }
.kpi-dona strong,.kpi-dona small { position:relative; z-index:1; }
.kpi-dona strong { font-size:1.25rem; color:#24475e; }.kpi-dona small { font-size:.65rem; color:#637985; }
.kpi-leyenda { display:grid; width:100%; gap:.4rem; min-width:0; flex:1; }.kpi-leyenda div { display:grid; min-width:0; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:.4rem; font-size:.75rem; }.kpi-leyenda i { width:9px; height:9px; border-radius:50%; }.kpi-leyenda span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kpi-vacio { color:#758995; font-size:.85rem; }
@media (max-width:700px) { .kpis-encabezado { align-items:flex-start; flex-direction:column; }.kpi-categoria-compacta .kpi-grid,.kpi-grid { grid-template-columns:minmax(0,1fr); }.kpi-dona-zona { align-items:center; }.kpi-dona { width:105px; } }
@media (max-width:430px) { .kpi-card { padding:.85rem; }.kpi-dona-zona { align-items:stretch; flex-direction:column; }.kpi-dona { width:112px; margin:auto; }.kpi-leyenda span { white-space:normal; overflow-wrap:anywhere; }.kpi-barra span { white-space:normal; overflow-wrap:anywhere; } }
@media (max-width: 800px) { .admin-navbar { flex-wrap:wrap; }.admin-navegacion { order:3; width:100%; }.administracion-contenedor { width:min(100% - 1rem,1400px); }.modal-administracion { max-height:calc(100vh - 1rem); } }

/* Homologacion visual de la categoria 4. */
.curpi-page #categoria-4 .subdivision-diversificacion {
    border-color: #dbe6ef;
    background: #fff;
}
.curpi-page #categoria-4 .subdivision-encabezado > span,
.curpi-page #categoria-4 .subdivision-diversificacion .subdivision-encabezado > span {
    color: #244573;
    border: 1px solid rgba(255,255,255,.85);
    background: #fff;
    box-shadow: none;
    font-family: 'Poppins',sans-serif;
    font-weight: 600;
}
.curpi-page #categoria-4 .subdivision-idiomas .campos-curpi > div,
.curpi-page #categoria-4 .subdivision-diversificacion > .campo-idiomas-multiple {
    position: relative;
    margin-bottom: 1rem;
    padding: 1rem 1rem 1rem 4rem;
    border: 1px solid #9fc5e3;
    border-radius: .85rem;
    background: #fff;
    box-shadow: 0 5px 14px rgba(36,69,115,.09);
}
.curpi-page #categoria-4 .subdivision-idiomas .campos-curpi > div::before,
.curpi-page #categoria-4 .subdivision-diversificacion > .campo-idiomas-multiple::before {
    top: 1rem;
    left: 1rem;
    color: #147ee6;
    border: 1px solid #8eb9df;
    background: #fff;
    box-shadow: none;
    font-family: 'Poppins',sans-serif;
    font-weight: 600;
}
.curpi-page #categoria-4 .campos-curpi > div > label,
.curpi-page #categoria-4 .campo-idiomas-multiple > legend {
    color: #405269;
    font-family: 'Century Gothic','Century',sans-serif;
    font-size: .86rem;
    font-weight: 400;
    line-height: 1.55;
}
.curpi-page #categoria-4 select,
.curpi-page #categoria-4 option,
.curpi-page #categoria-4 .opcion-idioma,
.curpi-page #categoria-4 .opcion-idioma span,
.curpi-page #categoria-4 .otro-idioma-contenedor label,
.curpi-page #categoria-4 .otro-idioma-contenedor strong {
    font-family: 'Century Gothic','Century',sans-serif;
    font-size: .84rem;
    font-weight: 400;
}
.curpi-page #categoria-4 .opcion-idioma:hover,
.curpi-page #categoria-4 .opcion-idioma:has(input:checked) {
    border-color: #8eb9df;
    background: #f2f8fe;
    box-shadow: 0 0 0 .16rem rgba(20,126,230,.08);
}
.curpi-page #categoria-4 .opcion-idioma input { accent-color: #147ee6; }
.curpi-page #categoria-4 .pregunta-idiomas-separada {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top-color: #9fc5e3;
}

/* Los enunciados y las respuestas conservan el mismo peso en las diez categorias. */
.curpi-page .panel-curpi .campos-curpi > div > label,
.curpi-page .panel-curpi .campos-curpi > fieldset > legend,
.curpi-page .panel-curpi .enunciado-categoria-uno,
.curpi-page .panel-curpi .pregunta-profesional > legend,
.curpi-page .panel-curpi .pregunta-profesional > legend > strong,
.curpi-page .panel-curpi .pregunta-ocho .contenido-pregunta > label,
.curpi-page .panel-curpi .pregunta-ocho .contenido-pregunta > legend,
.curpi-page .panel-curpi .pregunta-habilidad label,
.curpi-page .panel-curpi .pregunta-tecnologia > div > label,
.curpi-page .panel-curpi .pregunta-tecnologia > div > legend,
.curpi-page .panel-curpi .matriz-encabezado > div > h3,
.curpi-page .panel-curpi .campo-idiomas-multiple > legend {
    font-family: 'Century Gothic','Century',sans-serif !important;
    font-size: .86rem !important;
    font-weight: 400 !important;
    line-height: 1.55;
}
.curpi-page .panel-curpi .respuestas-radio label,
.curpi-page .panel-curpi .respuestas-radio span,
.curpi-page .panel-curpi .opciones-liderazgo label,
.curpi-page .panel-curpi .opciones-liderazgo span,
.curpi-page .panel-curpi .opcion-idioma,
.curpi-page .panel-curpi .opcion-idioma span,
.curpi-page .panel-curpi select,
.curpi-page .panel-curpi option {
    font-family: 'Century Gothic','Century',sans-serif !important;
    font-weight: 400 !important;
}
.curpi-page .panel-curpi .otro-idioma-contenedor label,
.curpi-page .panel-curpi .otro-idioma-contenedor label strong {
    font-weight: 400 !important;
}

.curpi-page .mensaje-bajo-enunciado {
    width: 100%;
    margin: -.25rem 0 .7rem;
    padding: .45rem .65rem;
    border-left: 3px solid #dc3545;
    border-radius: .35rem;
    background: #fff2f3;
    font-size: .74rem;
}

/* Dashboard CURPI compacto y organizado por vistas. */
.curpi-dashboard { padding-top: 1.5rem; }
.curpi-dashboard .dashboard-encabezado { padding: 1.1rem 1.35rem; }
.curpi-dashboard .dashboard-encabezado h1 { font-size: clamp(1.55rem,3vw,2.25rem); }
.curpi-dashboard .configuracion-curpi-card { margin-bottom: .8rem; padding: .9rem 1rem; }
.curpi-dashboard .filtros-curpi { margin: .8rem 0; padding: .8rem 1rem; border: 1px solid #dce6ee; border-radius: .9rem; background: #fff; }
.dashboard-pestanas { position: sticky; z-index: 8; top: .5rem; display: flex; gap: .45rem; margin: .8rem 0 1rem; padding: .45rem; overflow-x: auto; border: 1px solid #d9e4ec; border-radius: .9rem; background: rgba(255,255,255,.96); box-shadow: 0 8px 22px rgba(36,69,115,.09); }
.dashboard-pestana { display:flex; align-items:center; justify-content:center; flex: 1 0 auto; min-height: 2.55rem; padding: .55rem .9rem; border: 0; border-radius: .65rem; color: #53667c; background: transparent; font-size: .78rem; font-weight: 600; text-decoration:none; white-space:nowrap; }
.dashboard-pestana:hover { color: #147ee6; background: #f0f7fd; }
.dashboard-pestana.activa { color: #fff; background: #244573; box-shadow: 0 5px 14px rgba(36,69,115,.2); }
.dashboard-panel-vista[hidden] { display: none !important; }
.curpi-dashboard .estadisticas-generales,
.curpi-dashboard .categorias-estadisticas { margin-top: 1rem; }
.curpi-dashboard .graficas-grid { gap: .85rem; margin-top: .8rem; }
.curpi-dashboard .grafica-card { position: relative; min-height: 340px; padding: 1rem; }
.curpi-dashboard .grafica-card .grafica-d3 { min-height: 300px; }
.curpi-dashboard .grafica-d3-selector { min-height: 340px; }
.visualizacion-d3 { display: block; width: 100%; height: auto; overflow: visible; font-family: Poppins, sans-serif; }
.toolbar-d3 { display: flex; justify-content: flex-end; gap: .35rem; min-height: 30px; margin: -.2rem 0 .25rem; }
.toolbar-d3 button { padding: .32rem .58rem; border: 1px solid #cbd9e6; border-radius: .45rem; color: #315678; background: #f7fbff; font-size: .68rem; font-weight: 700; transition: .2s ease; }
.toolbar-d3 button:hover { border-color: #147ee6; color: #147ee6; background: #fff; transform: translateY(-1px); }
.eje-d3 text { fill: #526579; font-size: 11px; }.eje-d3 path, .eje-d3 line { stroke: #b9c9d8; }
.rejilla-d3 line { stroke: #e7eef5; stroke-dasharray: 3 4; }.rejilla-d3 path { display: none; }
.barra-d3, .columna-d3, .segmento-d3, .punto-d3, .punto-lollipop-d3 { cursor: pointer; }.barra-d3, .columna-d3, .segmento-d3 { filter: drop-shadow(0 3px 4px rgba(31,68,105,.12)); }
.valor-d3 { fill: #26384d; font-size: 12px; font-weight: 700; }.linea-d3 { fill: none; stroke-width: 3; }
.tallo-d3 { stroke: #aac8df; stroke-width: 4; stroke-linecap: round; }.punto-lollipop-d3 { filter: drop-shadow(0 3px 4px rgba(31,68,105,.2)); }
.leyenda-d3 text, .leyenda-dona-d3 text { fill: #526579; font-size: 11px; }.leyenda-valor-d3 { fill: #26384d !important; font-weight: 700; }
.total-d3 { fill: #173c64; font-size: 28px; font-weight: 700; }.total-etiqueta-d3 { fill: #6a7c8f; font-size: 11px; }
.tooltip-d3 { position: absolute; z-index: 2500; pointer-events: none; max-width: 280px; padding: .65rem .8rem; border: 1px solid rgba(118,199,221,.55); border-radius: .65rem; color: #fff; background: rgba(23,60,100,.95); box-shadow: 0 8px 24px rgba(17,43,70,.22); font: 12px/1.35 Poppins,sans-serif; transition: opacity .12s ease; }
.tooltip-d3 strong, .tooltip-d3 span { display: block; }.tooltip-d3 span { margin-top: .2rem; color: #dceeff; }
.modal-aviso-privacidad { z-index: 2200; }
/* El backdrop debe permanecer debajo de cualquier modal Bootstrap. Elevarlo
   globalmente bloqueaba los campos y botones de Crear cuenta. */
.modal-backdrop.show { z-index: 1050; }
.modal-aviso-privacidad .modal-dialog { max-width: 780px; padding: .75rem; }.modal-aviso-privacidad .modal-content { max-height: min(90vh,760px); overflow: hidden; border: 1px solid #cbddeb; border-radius: 1.35rem; box-shadow: 0 28px 80px rgba(16,44,73,.3); }
.aviso-privacidad-encabezado { padding: 1rem 1.35rem; border-bottom: 1px solid #d9e6f0; background: linear-gradient(135deg,#f4f9fd,#fff); }
.aviso-privacidad-identidad { display: flex; flex: 1 1 auto; align-items: center; gap: 1rem; min-width: 0; }.aviso-privacidad-identidad > div:last-child > span { display: block; color: #147ee6; font: 700 .68rem/1.2 Poppins,sans-serif; letter-spacing: .09em; text-transform: uppercase; }.aviso-privacidad-identidad h2 { margin: .18rem 0 0; color: #173c64; font: 700 1.3rem/1.25 Poppins,sans-serif; }
.aviso-privacidad-logos { display: flex; align-items: center; gap: .55rem; padding-right: .9rem; border-right: 1px solid #d7e4ee; }.aviso-privacidad-logos img { width: auto; max-width: 58px; height: 40px; object-fit: contain; }
.aviso-privacidad-cuerpo { padding: 1.15rem 1.35rem 1.3rem; color: #465b70; font: 400 .88rem/1.6 Poppins,sans-serif; }.aviso-privacidad-resumen { margin: 0 0 1rem; color: #314b66; font-size: .93rem; }
.aviso-privacidad-bloque { margin-bottom: .8rem; padding: .85rem 1rem; border: 1px solid #dce8f1; border-radius: .85rem; background: #fbfdff; }.aviso-privacidad-bloque h3 { margin: 0 0 .4rem; color: #244573; font-size: .88rem; font-weight: 700; }.aviso-privacidad-bloque p, .aviso-privacidad-bloque ul { margin: 0; }.aviso-privacidad-bloque ul { padding-left: 1.15rem; }.aviso-privacidad-bloque li + li { margin-top: .25rem; }.aviso-datos-sensibles { border-left: 4px solid #d4a93d; background: #fffaf0; }
.aviso-privacidad-derechos { margin: .9rem 0; padding: .85rem 1rem; border-radius: .85rem; color: #315678; background: #edf7fc; }.aviso-privacidad-derechos strong { color: #173c64; }.aviso-privacidad-derechos p { margin: .2rem 0 .45rem; }.aviso-privacidad-derechos a { color: #0756a3; font-weight: 700; }
.aviso-privacidad-aceptacion { display: flex; align-items: flex-start; gap: .7rem; padding: .9rem 1rem; border: 1px solid #b8d3e7; border-radius: .85rem; color: #294967; background: #f5faff; cursor: pointer; }.aviso-privacidad-aceptacion input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin-top: .15rem; accent-color: #147ee6; }
.aviso-privacidad-acciones { flex-wrap: nowrap; justify-content: flex-end; padding: .9rem 1.35rem; border-top-color: #d9e6f0; background: #f8fbfd; }
@media (max-width: 575px) { .modal-aviso-privacidad .modal-dialog { min-height: calc(100% - 1rem); margin: .5rem auto; padding: 0 .25rem; }.modal-aviso-privacidad .modal-content { max-height: calc(100vh - 1rem); border-radius: 1rem; }.aviso-privacidad-encabezado,.aviso-privacidad-cuerpo,.aviso-privacidad-acciones { padding-left: 1rem; padding-right: 1rem; }.aviso-privacidad-logos img { height: 30px; max-width: 42px; }.aviso-privacidad-identidad h2 { font-size: 1.05rem; }.aviso-privacidad-acciones { flex-direction: column-reverse; align-items: stretch; }.aviso-privacidad-acciones button { width: 100%; } }

/* Aviso de compatibilidad mostrado en la pantalla de acceso. */
.modal-aviso-brave .modal-dialog { max-width: 880px; padding: .75rem; }
.modal-aviso-brave .modal-content { max-height: min(92vh, 760px); overflow: hidden; border: 0; border-radius: 1.35rem; box-shadow: 0 30px 90px rgba(6,38,92,.32); }
.aviso-brave-encabezado { padding: 1rem 1.35rem; border: 0; color: #fff; background: linear-gradient(135deg,#06265c,#244573 62%,#147ee6); }
.aviso-brave-titulo { display: flex; align-items: center; gap: .9rem; min-width: 0; }
.aviso-brave-titulo > div > span { display: block; color: #b9ddff; font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.aviso-brave-titulo h2 { margin-top: .15rem; color: #fff; font-size: clamp(1.15rem,3vw,1.55rem); }
.brave-distintivo { display: grid; flex: 0 0 2.7rem; width: 2.7rem; height: 2.7rem; place-items: center; border: 2px solid rgba(255,255,255,.72); border-radius: .85rem; color: #fff; background: linear-gradient(145deg,#ff6d35,#d93f69); font-size: 1.35rem; font-weight: 900; box-shadow: 0 7px 18px rgba(0,0,0,.2); }
.aviso-brave-cuerpo { padding: clamp(1rem,3vw,1.65rem); overflow-y: auto; }
.aviso-brave-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(240px,.88fr); gap: clamp(1rem,3vw,1.75rem); align-items: center; }
.aviso-brave-principal { margin: 0 0 1rem; color: #294967; font-size: 1rem; line-height: 1.65; }
.aviso-brave-puntos { display: grid; gap: .65rem; margin: 0 0 1.2rem; padding-left: 1.2rem; color: #52677c; font-size: .88rem; line-height: 1.5; }
.aviso-brave-mensaje .btn { border-radius: .8rem; font-weight: 700; }
.comprobante-ejemplo { margin: 0; }
.comprobante-ejemplo figcaption { margin-bottom: .55rem; color: #52677c; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.comprobante-miniatura { position: relative; padding: 1rem; overflow: hidden; border: 1px solid #cfe0ec; border-radius: 1rem; text-align: center; background: linear-gradient(155deg,#fff,#f3f9fd); box-shadow: 0 14px 32px rgba(36,69,115,.14); }
.comprobante-miniatura::before { content: ""; position: absolute; inset: 0 0 auto; height: .35rem; background: linear-gradient(90deg,#06265c,#147ee6,#6dc9d9); }
.comprobante-marca { display: flex; justify-content: space-between; align-items: center; padding-bottom: .65rem; border-bottom: 1px solid #dbe7ef; color: #244573; font-size: .72rem; letter-spacing: .08em; }
.comprobante-marca span { font-weight: 900; }.comprobante-marca small { font-size: .58rem; font-weight: 800; }
.comprobante-check { display: grid; width: 3.2rem; height: 3.2rem; margin: 1rem auto .65rem; place-items: center; border-radius: 50%; color: #fff; background: #178764; box-shadow: 0 7px 18px rgba(23,135,100,.24); font-size: 1.65rem; font-weight: 900; }
.comprobante-miniatura > strong { display: block; color: #173c64; font-size: 1.05rem; }.comprobante-miniatura > p { margin: .35rem auto .9rem; color: #65778a; font-size: .72rem; }
.comprobante-folio { display: flex; justify-content: space-between; gap: .5rem; padding: .6rem .7rem; border-radius: .6rem; color: #41617c; background: #eaf4fa; font-size: .58rem; }.comprobante-folio b { color: #176b52; }
.comprobante-nota { margin: .65rem 0 0; color: #6a7d90; font-size: .7rem; line-height: 1.45; text-align: center; }
.aviso-brave-acciones { padding: .85rem 1.35rem; border-top-color: #dbe6ee; background: #f8fbfd; }.aviso-brave-acciones .btn { border-radius: .8rem; font-weight: 700; }
@media (max-width: 700px) { .modal-aviso-brave .modal-dialog { min-height: calc(100% - 1rem); margin: .5rem auto; padding: 0 .25rem; }.modal-aviso-brave .modal-content { max-height: calc(100vh - 1rem); border-radius: 1rem; }.aviso-brave-grid { grid-template-columns: 1fr; }.comprobante-ejemplo { width: min(100%,320px); margin-inline: auto; }.aviso-brave-acciones .btn { width: 100%; }.brave-distintivo { flex-basis: 2.35rem; width: 2.35rem; height: 2.35rem; } }
.curpi-dashboard .categorias-resumen { grid-template-columns: repeat(5,minmax(0,1fr)); gap: .55rem; }
.curpi-dashboard .categorias-resumen .categoria-selector { padding: .65rem; }
.curpi-dashboard .preguntas-estadisticas { gap: .75rem; }
.curpi-dashboard .pregunta-card { min-height: 330px; padding: 1rem; }
.usuarios-curpi-panel { margin-top: 0; }
.estado-respuesta-curpi { display: inline-flex; padding: .25rem .55rem; border-radius: 999px; color: #176b52; background: #e7f6ef; font-size: .7rem; font-weight: 700; }
@media (max-width: 900px) { .curpi-dashboard .categorias-resumen { grid-template-columns: repeat(2,minmax(0,1fr)); }.dashboard-pestana { flex: 0 0 auto; } }
.filtro-checkbox { position:relative; min-width:16rem; }
.filtro-checkbox summary { display:flex; justify-content:space-between; gap:1rem; padding:.65rem .8rem; border:1px solid #d5dee8; border-radius:.7rem; color:#405269; background:#fff; cursor:pointer; font-size:.8rem; font-weight:800; list-style:none; }
.filtro-checkbox summary::-webkit-details-marker { display:none; }.filtro-checkbox summary small { color:#8494a1; font-weight:500; }
.filtro-checkbox-opciones { position:absolute; z-index:30; top:calc(100% + .35rem); left:0; display:grid; gap:.25rem; width:max-content; min-width:100%; max-width:min(32rem,90vw); max-height:20rem; padding:.65rem; overflow:auto; border:1px solid #d5dee8; border-radius:.75rem; background:#fff; box-shadow:0 12px 30px rgba(25,52,70,.16); }
.filtro-checkbox-opciones label { display:flex; align-items:flex-start; gap:.55rem; min-width:0; padding:.35rem .45rem; border-radius:.4rem; cursor:pointer; font-size:.78rem; font-weight:500; }.filtro-checkbox-opciones label:hover { background:#f0f6fa; }.filtro-checkbox-opciones input { margin-top:.15rem; accent-color:#244573; }
.tabla-curpi th.encabezado-grupo { top:0; min-width:0; padding:.55rem .8rem; text-align:center; text-transform:uppercase; letter-spacing:.06em; font-size:.7rem; }
.tabla-curpi thead tr:nth-child(2) th { top:34px; }
.tabla-curpi th.categoria-meta{background:#334155}.tabla-curpi th.categoria-1{background:#2563eb}.tabla-curpi th.categoria-2{background:#0f766e}.tabla-curpi th.categoria-3{background:#7c3aed}.tabla-curpi th.categoria-4{background:#0369a1}.tabla-curpi th.categoria-5{background:#b45309}.tabla-curpi th.categoria-6{background:#be123c}.tabla-curpi th.categoria-7{background:#4338ca}.tabla-curpi th.categoria-8{background:#15803d}.tabla-curpi th.categoria-9{background:#0e7490}.tabla-curpi th.categoria-10{background:#9f1239}
@media(max-width:850px){.filtro-checkbox{width:100%;min-width:0}.filtro-checkbox-opciones{position:static;width:100%;margin-top:.35rem}.tabla-curpi thead tr:nth-child(2) th{top:34px}}

/* Landing institucional PISTA */
.pista-landing{margin:0;color:#17344a;background:#f4f8fa;font-family:Inter,"Segoe UI",sans-serif;scroll-behavior:smooth}.pista-landing *{box-sizing:border-box}.pista-landing-nav{position:sticky;z-index:50;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:.7rem clamp(1rem,5vw,5rem);border-bottom:1px solid rgba(22,64,85,.1);background:rgba(250,253,254,.92);box-shadow:0 8px 30px rgba(20,54,73,.06);backdrop-filter:blur(16px)}
.pista-landing-brand{display:flex;align-items:center;gap:.7rem;color:#173c55;text-decoration:none}.pista-landing-brand img{width:54px;height:54px;object-fit:contain}.pista-landing-brand span{display:grid}.pista-landing-brand strong{font-size:1.05rem;letter-spacing:.12em}.pista-landing-brand small{color:#718691;font-size:.68rem}.pista-landing-nav nav{display:flex;justify-content:center;gap:1.8rem}.pista-landing-nav nav a{color:#496272;text-decoration:none;font-size:.82rem;font-weight:700}.pista-landing-nav nav a:hover{color:#077799}.pista-landing-session{display:flex;align-items:center;gap:.7rem;color:#4d6674;font-size:.76rem}.pista-landing-session form{margin:0}.pista-landing-session button{padding:.48rem .7rem;border:1px solid #cfdae0;border-radius:.55rem;color:#405a69;background:#fff;font-weight:700}
.pista-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:center;min-height:660px;padding:clamp(4rem,8vw,7rem) clamp(1rem,7vw,7rem);overflow:hidden;background:radial-gradient(circle at 75% 40%,rgba(39,178,179,.14),transparent 30%),linear-gradient(135deg,#f9fcfd 20%,#eaf4f6)}.pista-hero::before{content:"";position:absolute;width:440px;height:440px;left:-200px;bottom:-250px;border:80px solid rgba(17,111,141,.05);border-radius:50%}.pista-hero-copy{position:relative;z-index:2;max-width:760px}.pista-eyebrow,.pista-section-heading>span,.pista-objective span,.pista-author-note span{color:#087d99;font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.pista-hero h1{margin:.7rem 0 1.2rem;color:#183e55;font-family:Georgia,serif;font-size:clamp(2.7rem,5.7vw,5.3rem);font-weight:500;line-height:.98;letter-spacing:-.045em}.pista-hero h1 em{display:block;color:#07849c;font-style:normal}.pista-hero-copy>p{max-width:660px;color:#58717e;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75}.pista-hero-actions{display:flex;gap:.75rem;margin:1.7rem 0 2.5rem}.pista-btn-primary,.pista-btn-ghost{padding:.8rem 1.15rem;border-radius:.7rem;text-decoration:none;font-size:.84rem;font-weight:800}.pista-btn-primary{color:#fff;background:linear-gradient(135deg,#087a98,#20a6a7);box-shadow:0 10px 25px rgba(8,122,152,.2)}.pista-btn-ghost{border:1px solid #c4d5dc;color:#345668;background:rgba(255,255,255,.65)}.pista-hero-metrics{display:flex;gap:2.5rem;margin:0}.pista-hero-metrics div{display:grid;max-width:120px}.pista-hero-metrics dt{color:#123e57;font-family:Georgia,serif;font-size:1.75rem}.pista-hero-metrics dd{margin:0;color:#71848e;font-size:.7rem;line-height:1.3}.pista-hero-visual{position:relative;display:grid;place-items:center;min-height:430px}.pista-hero-visual>i{position:absolute;width:min(36vw,430px);aspect-ratio:1;border:1px solid rgba(9,125,151,.15);border-radius:50%;box-shadow:0 0 0 45px rgba(9,125,151,.035),0 0 0 90px rgba(9,125,151,.025)}.pista-logo-stage{position:relative;display:grid;place-items:center;width:min(28vw,330px);aspect-ratio:1;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(255,255,255,.78);box-shadow:0 30px 70px rgba(22,72,91,.16);backdrop-filter:blur(10px)}.pista-logo-stage img{width:78%;height:78%;object-fit:contain}.pista-hero-visual>p{position:absolute;right:2%;bottom:4%;padding:.8rem 1rem;border-radius:.7rem;color:#55707e;background:#fff;box-shadow:0 12px 35px rgba(27,66,85,.12);font-size:.8rem}.pista-hero-visual>p strong{color:#087d99}
.pista-instruments,.pista-foundation,.pista-method,.pista-sources{padding:clamp(4rem,7vw,7rem) clamp(1rem,7vw,7rem)}.pista-section-heading{max-width:760px;margin-bottom:2rem}.pista-section-heading h2,.pista-foundation h2,.pista-objective h2{margin:.35rem 0;color:#183e55;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:500}.pista-section-heading p{color:#687d88;line-height:1.7}.pista-instrument-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.pista-instrument-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #dbe6e9;border-radius:1.1rem;color:inherit;background:#fff;box-shadow:0 12px 35px rgba(25,62,79,.07);text-decoration:none;transition:.25s ease}.pista-instrument-card.is-active:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(18,87,105,.17)}.pista-card-top{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;color:#607985;font-size:.68rem;font-weight:800;text-transform:uppercase}.pista-card-top b{padding:.27rem .5rem;border-radius:2rem;color:#087a70;background:#dff5ef;font-size:.62rem}.is-upcoming .pista-card-top b{color:#796f62;background:#f0ede7}.pista-instrument-logo{display:grid;place-items:center;height:190px;padding:1rem;background:linear-gradient(145deg,#f7fbfc,#eaf3f5)}.pista-instrument-logo img{width:100%;height:100%;object-fit:contain}.is-upcoming{filter:saturate(.55)}.is-upcoming .pista-instrument-logo{opacity:.65}.pista-card-copy{display:flex;flex:1;flex-direction:column;padding:1.1rem}.pista-card-copy h3{color:#21495f;font-family:Georgia,serif;font-size:1.35rem}.pista-card-copy p{flex:1;color:#70838d;font-size:.78rem;line-height:1.6}.pista-card-copy>strong{color:#07849c;font-size:.78rem}
.pista-foundation{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem);color:#eaf7f8;background:#123e55}.pista-foundation h2{color:#fff}.pista-lead{color:#c5dade;font-size:1.05rem;line-height:1.75}.pista-foundation blockquote{margin:2rem 0 0;padding:1.2rem 0 1.2rem 1.3rem;border-left:3px solid #31b5b2;color:#a9cbcf;font-family:Georgia,serif;font-size:1.05rem;line-height:1.65}.pista-foundation-content{display:grid;gap:.7rem}.pista-foundation-content article{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:.8rem;background:rgba(255,255,255,.055)}.pista-foundation-content article>span{color:#4dc8c0;font-family:Georgia,serif;font-size:1.35rem}.pista-foundation-content h3{margin:0 0 .3rem;font-size:1rem}.pista-foundation-content p{margin:0;color:#b9d0d5;font-size:.78rem;line-height:1.6}.pista-reading{grid-column:1/-1;margin-top:1rem;border:1px solid rgba(255,255,255,.13);border-radius:.9rem;background:rgba(255,255,255,.05)}.pista-reading summary,.pista-sources summary{display:flex;justify-content:space-between;padding:1.1rem 1.25rem;cursor:pointer;font-weight:800;list-style:none}.pista-reading summary small{color:#9fc1c7}.pista-reading-body{padding:0 clamp(1rem,4vw,3rem) 2rem;columns:2;column-gap:3rem;color:#c5dadd;font-size:.85rem;line-height:1.75}.pista-reading-body h3,.pista-reference-note{column-span:all}.pista-reference-note{display:flex;gap:.8rem;margin-top:1rem;padding:.8rem;border-radius:.6rem;background:rgba(255,255,255,.07)}
.pista-objective{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:4rem;padding:clamp(3rem,6vw,5rem) clamp(1rem,7vw,7rem);background:#dff1f1}.pista-objective p{margin:0;color:#466774;font-size:1rem;line-height:1.8}.pista-method{background:#fff}.pista-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:0;padding:0;list-style:none}.pista-method-grid li{display:flex;gap:.8rem;min-height:130px;padding:1rem;border:1px solid #dce7ea;border-radius:.8rem;background:#f9fcfc}.pista-method-grid li:last-child{grid-column:2/4}.pista-method-grid b{color:#16a3a5;font-family:Georgia,serif;font-size:1.2rem}.pista-method-grid h3{margin:0 0 .35rem;color:#234c60;font-size:.95rem}.pista-method-grid p{margin:0;color:#758891;font-size:.75rem}.pista-sources{background:#edf4f5}.pista-sources details{border-radius:1rem;background:#fff;box-shadow:0 12px 35px rgba(28,62,78,.07)}.pista-sources summary{color:#254b5f}.pista-sources summary span{color:#77909b;font-size:.72rem}.pista-sources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 2rem;padding:0 1.3rem 1.5rem}.pista-sources-grid p{margin:0;padding:.65rem 0;border-bottom:1px solid #e6edef;color:#607681;font-size:.74rem;line-height:1.5}
.pista-author-note{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;margin:clamp(3rem,6vw,6rem) clamp(1rem,7vw,7rem);padding:1.4rem;border:1px solid #d9e5e8;border-radius:1rem;background:#fff;box-shadow:0 15px 40px rgba(24,61,79,.08)}.pista-author-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#087d99,#20aaa6);font-family:Georgia,serif;font-size:1.2rem}.pista-author-note h2{margin:.15rem 0;color:#20495e;font-family:Georgia,serif;font-size:1.45rem}.pista-author-note p{margin:0;color:#748791;font-size:.78rem}.pista-author-note>img{width:95px;height:70px;object-fit:contain}.pista-landing-footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.4rem clamp(1rem,7vw,7rem);color:#aac3ca;background:#0e3448;font-size:.72rem}.pista-landing-footer>div{display:flex;align-items:center;gap:.7rem}.pista-landing-footer img{width:55px;height:45px;object-fit:contain;filter:brightness(0) invert(1);opacity:.8}.pista-landing-footer p{margin:0}
@media(max-width:1050px){.pista-landing-nav nav{display:none}.pista-landing-nav{grid-template-columns:1fr auto}.pista-hero{grid-template-columns:1fr;min-height:auto}.pista-hero-visual{min-height:360px}.pista-logo-stage{width:min(55vw,320px)}.pista-hero-visual>i{width:min(70vw,420px)}.pista-instrument-grid{grid-template-columns:repeat(2,1fr)}.pista-foundation{grid-template-columns:1fr}.pista-method-grid{grid-template-columns:repeat(2,1fr)}.pista-method-grid li:last-child{grid-column:auto}.pista-objective{grid-template-columns:1fr;gap:1rem}}
@media(max-width:620px){.pista-landing-nav{padding:.55rem .7rem}.pista-landing-brand img{width:44px;height:44px}.pista-landing-brand small,.pista-landing-session>span{display:none}.pista-hero{padding-top:3rem}.pista-hero h1{font-size:2.65rem}.pista-hero-actions,.pista-hero-metrics{flex-wrap:wrap}.pista-hero-metrics{gap:1.2rem}.pista-instrument-grid,.pista-method-grid,.pista-sources-grid{grid-template-columns:1fr}.pista-reading-body{columns:1}.pista-author-note{grid-template-columns:auto 1fr}.pista-author-note>img{display:none}.pista-landing-footer{align-items:flex-start;flex-direction:column}}

/* Portada pública PISTA */
.pista-public{--ink:#123b50;--teal:#07869a;--aqua:#25b8ad;--mist:#eef7f7;margin:0;color:var(--ink);background:#fbfdfd;font-family:Inter,"Segoe UI",sans-serif;scroll-behavior:smooth}.pista-public *{box-sizing:border-box}.public-nav{position:sticky;z-index:60;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:.7rem clamp(1rem,6vw,6rem);border-bottom:1px solid rgba(19,69,84,.09);background:rgba(251,253,253,.9);backdrop-filter:blur(18px)}.public-brand{display:flex;align-items:center;gap:.7rem;color:var(--ink);text-decoration:none}.public-brand img{width:52px;height:52px;object-fit:contain}.public-brand span{display:grid}.public-brand b{letter-spacing:.13em}.public-brand small{color:#70858e;font-size:.65rem}.public-nav nav{display:flex;justify-content:center;gap:2.2rem}.public-nav nav a{color:#58717d;text-decoration:none;font-size:.78rem;font-weight:700;transition:.2s}.public-nav nav a:hover{color:var(--teal)}.public-nav-access{display:flex;align-items:center;gap:.65rem;padding:.68rem .9rem;border-radius:.7rem;color:#fff;background:var(--ink);text-decoration:none;font-size:.73rem;font-weight:800;box-shadow:0 8px 20px rgba(18,59,80,.15)}.public-nav-access span{font-size:1rem}
.public-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;min-height:680px;padding:clamp(4rem,8vw,7.5rem) clamp(1rem,7vw,7rem);overflow:hidden;background:radial-gradient(circle at 88% 10%,rgba(37,184,173,.12),transparent 27%),linear-gradient(145deg,#fcfefe,#edf7f7)}.public-hero::before{content:"";position:absolute;right:-9rem;bottom:-13rem;width:33rem;height:33rem;border:1px solid rgba(7,134,154,.09);border-radius:50%}.public-hero-copy{position:relative;z-index:3;max-width:760px}.public-kicker,.public-heading span,.public-about-title>span,.public-access-message>span,.public-login-head>span{color:var(--teal);font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.public-hero h1{margin:.75rem 0 1.35rem;color:var(--ink);font-family:Georgia,serif;font-size:clamp(3rem,5.8vw,5.55rem);font-weight:500;line-height:.98;letter-spacing:-.05em}.public-hero h1 em{color:var(--teal);font-style:normal}.public-hero-copy>p{max-width:650px;color:#5d7580;font-size:clamp(1rem,1.4vw,1.17rem);line-height:1.75}.public-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0}.public-btn{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;min-height:54px;padding:.8rem 1.2rem;border-radius:.8rem;text-decoration:none;font-size:.83rem;font-weight:900;transition:.22s}.public-btn:hover{transform:translateY(-3px)}.public-btn-main{color:#fff;background:linear-gradient(135deg,#087e9c,#1cb2a8);box-shadow:0 14px 30px rgba(5,132,151,.25)}.public-btn-main b{font-size:1.15rem}.public-btn-secondary{border:1px solid #c5dadd;color:#315768;background:rgba(255,255,255,.75)}.public-status{display:flex;align-items:center;gap:.55rem;color:#69808a;font-size:.75rem}.public-status i{width:9px;height:9px;border-radius:50%;background:#24b58b;box-shadow:0 0 0 5px rgba(36,181,139,.12)}.public-status b{color:#367063}.public-hero-art{position:relative;display:grid;place-items:center;min-height:470px}.public-logo-circle{position:relative;z-index:2;display:grid;place-items:center;width:min(27vw,335px);aspect-ratio:1;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(255,255,255,.83);box-shadow:0 35px 80px rgba(20,76,91,.17);backdrop-filter:blur(12px)}.public-logo-circle img{width:78%;height:78%;object-fit:contain}.public-orbit{position:absolute;aspect-ratio:1;border:1px solid rgba(7,134,154,.16);border-radius:50%}.public-orbit-one{width:min(35vw,430px)}.public-orbit-two{width:min(43vw,520px);border-style:dashed;opacity:.6}.public-float{position:absolute;z-index:4;padding:.55rem .8rem;border:1px solid #e0ebed;border-radius:3rem;color:#49717d;background:#fff;box-shadow:0 10px 25px rgba(18,59,80,.1);font-size:.7rem;font-weight:800}.public-float-a{top:15%;left:4%}.public-float-b{right:0;top:42%}.public-float-c{bottom:12%;left:12%}
.public-section{padding:clamp(4.5rem,8vw,8rem) clamp(1rem,7vw,7rem)}.public-heading{display:flex;align-items:end;justify-content:space-between;gap:4rem;margin-bottom:2.3rem}.public-heading>div{max-width:760px}.public-heading h2,.public-about-title h2,.public-access-message h2{margin:.35rem 0;color:var(--ink);font-family:Georgia,serif;font-size:clamp(2.2rem,4.2vw,3.65rem);font-weight:500;line-height:1.08;letter-spacing:-.03em}.public-heading>p{max-width:380px;margin:0;color:#728790;line-height:1.7}.public-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.public-instrument{display:flex;min-width:0;min-height:420px;flex-direction:column;padding:1rem;border:1px solid #dae7e9;border-radius:1.15rem;color:inherit;background:#fff;box-shadow:0 14px 38px rgba(19,62,78,.07);text-decoration:none;transition:.25s}.public-instrument.is-ready:hover{transform:translateY(-8px);border-color:#74c8c6;box-shadow:0 24px 50px rgba(10,108,128,.16)}.public-card-meta{display:flex;justify-content:space-between;gap:.5rem;color:#657d87;font-size:.62rem;font-weight:900;text-transform:uppercase}.public-card-meta b{padding:.28rem .48rem;border-radius:2rem;color:#087c69;background:#e0f6ee;white-space:nowrap}.is-soon{filter:saturate(.45)}.is-soon .public-card-meta b{color:#7d7668;background:#efede8}.public-card-logo{display:grid;place-items:center;height:175px;margin:.9rem -1rem 1rem;padding:1rem;background:linear-gradient(145deg,#f7fbfb,#edf5f5)}.public-card-logo img{width:100%;height:100%;object-fit:contain}.is-soon .public-card-logo{opacity:.65}.public-instrument h3{margin:.15rem 0 .5rem;font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.public-instrument p{flex:1;margin:0;color:#71858e;font-size:.76rem;line-height:1.65}.public-instrument>strong{margin-top:1rem;color:var(--teal);font-size:.74rem}.public-instrument>strong i{font-size:1rem;font-style:normal}
.public-about{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem);color:#d7e9ec;background:var(--ink)}.public-about-title h2{color:#fff}.public-about-copy>p{margin:0 0 1rem;color:#bfd3d7;font-size:.96rem;line-height:1.85}.public-about-pill{display:grid;grid-template-columns:auto 1fr;gap:1rem;margin-top:2rem;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:.8rem;background:rgba(255,255,255,.06)}.public-about-pill b{color:#4bd0c4;font-size:.75rem;text-transform:uppercase}.public-about-pill span{font-size:.8rem;line-height:1.6}
.public-cycle{overflow:hidden;background:#f0f7f7}.public-heading-centered{display:grid;justify-items:center;text-align:center}.public-heading-centered>p{max-width:560px}.cycle-layout{display:grid;place-items:center;min-height:650px}.cycle-ring{position:relative;width:min(78vw,580px);aspect-ratio:1;border:2px solid rgba(7,134,154,.2);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.85) 0 31%,transparent 32%),conic-gradient(from -22deg,rgba(37,184,173,.14),rgba(7,134,154,.02),rgba(37,184,173,.14));box-shadow:inset 0 0 0 34px rgba(255,255,255,.35)}.cycle-ring::after{content:"↻";position:absolute;right:4%;top:8%;display:grid;width:44px;height:44px;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font-size:1.3rem;box-shadow:0 8px 20px rgba(7,134,154,.25)}.cycle-core{position:absolute;inset:32%;display:grid;place-items:center;text-align:center}.cycle-core img{width:76%;height:58%;object-fit:contain}.cycle-core b{color:#486b78;font-family:Georgia,serif;font-size:1rem}.cycle-node{position:absolute;display:grid;width:125px;min-height:68px;place-content:center;padding:.55rem;border:1px solid #d5e7e8;border-radius:.8rem;text-align:center;background:#fff;box-shadow:0 10px 26px rgba(20,69,85,.11);transform:translate(-50%,-50%)}.cycle-node b{color:var(--teal);font-family:Georgia,serif;font-size:1rem}.cycle-node span{color:#4c6975;font-size:.68rem;font-weight:800}.node-1{left:50%;top:0}.node-2{left:88%;top:20%}.node-3{left:98%;top:62%}.node-4{left:72%;top:96%}.node-5{left:28%;top:96%}.node-6{left:2%;top:62%}.node-7{left:12%;top:20%}
.public-access{display:grid;grid-template-columns:1fr minmax(340px,470px);align-items:center;gap:clamp(3rem,9vw,9rem);background:linear-gradient(135deg,#fafdfe,#e8f4f4)}.public-access-message{max-width:620px}.public-access-message>p{color:#657d87;line-height:1.75}.public-author{display:flex;align-items:center;gap:.8rem;margin-top:2rem}.public-author>div{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--teal),var(--aqua));font-family:Georgia,serif}.public-author p{display:grid;margin:0}.public-author small{color:#7a9098;font-size:.65rem;text-transform:uppercase}.public-author b{color:#31586a;font-family:Georgia,serif;font-size:.95rem}.public-login-card{padding:clamp(1.5rem,4vw,2.4rem);border:1px solid rgba(255,255,255,.9);border-radius:1.25rem;background:rgba(255,255,255,.9);box-shadow:0 28px 65px rgba(17,69,84,.14)}.public-login-head h3{margin:.4rem 0;color:var(--ink);font-family:Georgia,serif;font-size:2rem;font-weight:500}.public-login-head p{margin:0 0 1.5rem;color:#798d95;font-size:.8rem}.public-login-card form{display:grid}.public-login-card label{margin:.65rem 0 .35rem;color:#3f606e;font-size:.72rem;font-weight:800}.public-input{display:grid;grid-template-columns:42px 1fr;align-items:center;overflow:hidden;border:1px solid #cfdee2;border-radius:.7rem;background:#f9fbfc}.public-input span{text-align:center;color:#86a0a9;font-size:.75rem}.public-input input{min-width:0;padding:.8rem .3rem;border:0;outline:0;color:#264d5e;background:transparent;font:inherit;font-size:.82rem}.public-login-card button{display:flex;justify-content:space-between;margin-top:1.3rem;padding:.9rem 1rem;border:0;border-radius:.75rem;color:#fff;background:linear-gradient(135deg,var(--ink),#087f96);box-shadow:0 12px 25px rgba(16,69,85,.22);cursor:pointer;font-weight:900}.public-login-card button:hover{filter:brightness(1.08)}.public-error{padding:.7rem;border-radius:.6rem;color:#9a3040;background:#fdecef;font-size:.75rem}.public-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.2rem clamp(1rem,7vw,7rem);color:#abc1c8;background:#0b3347;font-size:.7rem}.public-footer .public-brand{color:#fff}.public-footer .public-brand img{filter:brightness(0) invert(1);opacity:.85}.public-footer p{margin:0}
@media(max-width:1050px){.public-nav nav{display:none}.public-nav{grid-template-columns:1fr auto}.public-hero{grid-template-columns:1fr}.public-hero-art{min-height:420px}.public-logo-circle{width:min(55vw,320px)}.public-orbit-one{width:min(72vw,420px)}.public-orbit-two{width:min(86vw,500px)}.public-card-grid{grid-template-columns:repeat(2,1fr)}.public-about,.public-access{grid-template-columns:1fr}.public-access-message{max-width:none}}
@media(max-width:650px){.public-nav{padding:.55rem .7rem}.public-brand img{width:44px;height:44px}.public-brand small{display:none}.public-nav-access{padding:.65rem;font-size:0}.public-nav-access::before{content:"Acceso";font-size:.72rem}.public-hero{min-height:auto;padding-top:3.5rem}.public-hero h1{font-size:2.85rem}.public-hero-art{min-height:330px}.public-float{font-size:.6rem}.public-card-grid{grid-template-columns:1fr}.public-heading{display:grid;gap:.8rem}.cycle-layout{min-height:500px}.cycle-ring{width:330px}.cycle-node{width:92px;min-height:58px;padding:.35rem}.cycle-node span{font-size:.58rem}.cycle-ring::after{width:36px;height:36px}.public-access{grid-template-columns:minmax(0,1fr)}.public-footer{align-items:flex-start;flex-direction:column}}

/* Refinamiento UX de portada */
.pista-public{font-family:'Poppins','Segoe UI',sans-serif}.pista-public h1,.pista-public h2,.pista-public h3,.pista-public .public-instrument p,.pista-public .public-about-copy p{font-family:'Century Gothic','Century',sans-serif}.public-hero h1{max-width:850px;font-weight:400;line-height:1.04}.public-hero h1 em{display:block;font-weight:600}.public-logo-circle{width:min(31vw,390px)}.public-logo-circle img{width:90%;height:90%}.public-actions{gap:1rem}.public-btn{position:relative;min-width:205px;min-height:66px;padding:.75rem 1.1rem;overflow:hidden;border-radius:1rem}.public-btn span{display:grid;text-align:left;line-height:1.15}.public-btn small{margin-bottom:.28rem;font-size:.55rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.72}.public-btn-main::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.24) 45%,transparent 70%);transform:translateX(-110%);transition:transform .55s}.public-btn-main:hover::before{transform:translateX(110%)}.public-btn-main{border:1px solid rgba(255,255,255,.45);box-shadow:0 16px 34px rgba(5,132,151,.3)}.public-btn-main b{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;color:var(--teal);background:#fff}.public-btn-secondary{border:1px solid #aacdd1;background:#fff;box-shadow:0 10px 24px rgba(18,59,80,.09)}.public-btn-secondary:hover{border-color:var(--teal);color:var(--teal);box-shadow:0 15px 30px rgba(7,134,154,.14)}
.public-heading-vertical{display:grid;justify-content:start;max-width:900px;gap:.45rem}.public-heading-vertical h2{max-width:860px;margin:0;font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.25}.public-instrument{min-height:440px}.public-card-logo{order:0;margin:-1rem -1rem 1rem;height:205px;border-radius:1.15rem 1.15rem 0 0}.public-card-meta{order:1;margin-bottom:.8rem;align-items:center}.public-instrument h3{order:2;font-weight:600}.public-instrument p{order:3}.public-instrument>strong{order:4;display:flex;align-items:center;justify-content:space-between;padding:.72rem .82rem;border-radius:.7rem;color:#fff;background:linear-gradient(135deg,var(--teal),var(--aqua));box-shadow:0 9px 20px rgba(7,134,154,.2);transition:.2s}.public-instrument>strong:hover{transform:translateY(-2px);box-shadow:0 13px 25px rgba(7,134,154,.3)}.is-ready .public-card-meta b{display:flex;align-items:center;gap:.38rem;box-shadow:0 0 0 1px rgba(26,176,121,.12)}.is-ready .public-card-meta b i{width:7px;height:7px;border-radius:50%;background:#1db779;box-shadow:0 0 0 0 rgba(29,183,121,.55);animation:publicPulse 1.6s infinite}@keyframes publicPulse{0%{box-shadow:0 0 0 0 rgba(29,183,121,.55)}70%{box-shadow:0 0 0 8px rgba(29,183,121,0)}100%{box-shadow:0 0 0 0 rgba(29,183,121,0)}}
.public-about{grid-template-columns:.85fr 1.15fr;position:relative;text-align:center;background:radial-gradient(circle at 50% 20%,#1b566a,#123b50 55%)}.public-about::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(54,198,190,.055) 50%,transparent 65%);background-size:220% 100%;animation:aboutGlow 8s ease-in-out infinite;pointer-events:none}@keyframes aboutGlow{0%,100%{background-position:120% 0}50%{background-position:-120% 0}}.public-about-title,.public-about-copy,.public-team{position:relative;z-index:1}.public-about-title{display:grid;align-content:center}.public-about-title>p{max-width:480px;margin:1rem auto 0;color:#aac7cc;line-height:1.7}.public-about-copy>p{transition:transform .3s,color .3s}.public-about-copy>p:hover{color:#fff;transform:translateY(-2px)}.public-about-pill{text-align:left}.public-team{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem;text-align:left}.public-team article{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:.8rem;padding:.8rem;border:1px solid rgba(255,255,255,.11);border-radius:.85rem;background:rgba(255,255,255,.055);transition:.3s}.public-team article:hover{transform:translateY(-5px);border-color:rgba(64,204,196,.45);background:rgba(255,255,255,.09)}.public-team img{width:62px;height:62px;border:2px solid rgba(255,255,255,.35);border-radius:50%;object-fit:cover}.public-team small{color:#48c9c0;font-size:.56rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.public-team h3{margin:.16rem 0;color:#fff;font-size:.84rem;font-weight:600}.public-team p{margin:0;color:#a9c2c7;font-size:.62rem;line-height:1.45}.cycle-ring::after{display:none}
.public-access{position:relative;overflow:hidden;background:linear-gradient(135deg,#f7fcfc 0%,#dff0f1 100%)}.public-access::before{content:"";position:absolute;left:-12rem;bottom:-15rem;width:35rem;height:35rem;border:80px solid rgba(7,134,154,.045);border-radius:50%}.public-access-message,.public-login-card{position:relative;z-index:1}.public-access-icon{display:grid;width:88px;height:88px;margin-bottom:1.3rem;place-items:center;border:1px solid #d4e7e9;border-radius:50%;background:#fff;box-shadow:0 12px 30px rgba(18,59,80,.1)}.public-access-icon img{width:80%;height:80%;object-fit:contain}.public-access-message ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 0;padding:0;list-style:none}.public-access-message li{padding:.45rem .65rem;border:1px solid #c8dfe1;border-radius:2rem;color:#4c707c;background:rgba(255,255,255,.65);font-size:.65rem;font-weight:700}.public-login-card{border:1px solid #d5e7e9;box-shadow:0 32px 75px rgba(17,69,84,.18)}.public-login-head{padding-bottom:1rem;border-bottom:1px solid #e5eeee}.public-input{transition:border-color .2s,box-shadow .2s,background .2s}.public-input:focus-within{border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px rgba(7,134,154,.09)}.public-login-card button{align-items:center;min-height:52px;font-family:'Poppins',sans-serif}.public-login-card button b{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;color:var(--ink);background:#fff}.public-login-note{display:block;margin-top:.85rem;color:#82969d;text-align:center;font-size:.6rem}
@media(max-width:1050px){.public-logo-circle{width:min(62vw,380px)}.public-about{grid-template-columns:1fr}.public-team{grid-template-columns:1fr}.public-about-title>p{max-width:700px}.public-about-copy{max-width:780px;margin:auto}}
@media(max-width:650px){.public-logo-circle{width:min(78vw,340px)}.public-btn{width:100%}.public-about{text-align:left}.public-about-title>p{margin-left:0}.public-team article{grid-template-columns:54px 1fr}.public-team img{width:54px;height:54px}.public-card-logo{height:190px}}

/* Composición de inicio e instrumentos */
.public-hero{grid-template-columns:minmax(0,1fr) minmax(360px,1fr);grid-template-rows:auto 1fr auto;gap:1rem 4rem;padding-top:clamp(3.5rem,6vw,5.5rem)}.public-hero-title{position:relative;z-index:3;grid-column:1/-1;max-width:1100px;margin:0 auto 1rem;text-align:center}.public-hero-title h1{margin:.65rem 0 0;color:var(--ink);font-family:'Century Gothic','Century',sans-serif;font-size:clamp(2.45rem,4.7vw,4.8rem);font-weight:400;line-height:1.08;letter-spacing:-.045em}.public-hero-title h1 span{color:#17465d}.public-hero-title h1 em{display:inline;color:#0796a5;font-style:normal;font-weight:600}.public-hero-copy{display:grid;align-content:center;justify-self:end;max-width:620px;text-align:center}.public-hero-copy>p{margin:0;color:#526f7b;font-family:'Century Gothic','Century',sans-serif;font-size:clamp(1rem,1.55vw,1.22rem);line-height:1.85}.public-hero-art{min-height:350px}.public-logo-circle{width:min(25vw,340px)}.public-orbit-one{width:min(32vw,410px)}.public-orbit-two{width:min(39vw,485px)}.public-actions{grid-column:1/-1;justify-content:center;margin:1.4rem 0 0}.public-status{display:none}
.public-heading-vertical{justify-items:center;max-width:none;margin:0 auto 3rem;text-align:center}.public-heading-vertical h2{width:100%;max-width:1050px;font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.18}.public-card-grid{align-items:stretch}.public-instrument{display:grid;grid-template-rows:minmax(160px,auto) 190px auto;min-height:470px;padding:0;overflow:hidden}.public-card-title{display:flex;flex-direction:column;padding:1.15rem 1.15rem 1rem;background:#fff}.public-card-title>span{color:var(--teal);font-size:.61rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.public-card-title h3{order:initial;margin:.48rem 0 .45rem;color:#234d60;font-family:'Century Gothic','Century',sans-serif;font-size:1.05rem;font-weight:600}.public-card-title p{order:initial;flex:1;margin:0;color:#71858e;font-family:'Century Gothic','Century',sans-serif;font-size:.72rem;line-height:1.6}.public-card-logo{order:initial;width:100%;height:190px;margin:0;padding:1.1rem;border-radius:0;background:linear-gradient(145deg,#f7fbfb,#e9f3f4)}.public-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:62px;padding:.8rem 1rem;border-top:1px solid #e4edef;background:#fbfdfd}.public-card-footer>b{display:inline-flex;align-items:center;gap:.38rem;padding:.32rem .55rem;border-radius:2rem;color:#746f64;background:#efede8;font-size:.61rem;text-transform:uppercase}.is-ready .public-card-footer>b{color:#087c69;background:#e0f6ee}.is-ready .public-card-footer>b i{width:7px;height:7px;border-radius:50%;background:#1db779;animation:publicPulse 1.6s infinite}.public-card-footer>strong{display:inline-flex;align-items:center;gap:.5rem;padding:.48rem .65rem;border-radius:.55rem;color:#fff;background:linear-gradient(135deg,var(--teal),var(--aqua));font-size:.65rem;box-shadow:0 7px 15px rgba(7,134,154,.2)}.public-card-footer>strong i{font-style:normal;font-size:.85rem}.public-instrument>strong,.public-card-meta{display:none}
@media(max-width:1050px){.public-hero{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:1rem}.public-hero-title,.public-actions{grid-column:1}.public-hero-copy{justify-self:center;max-width:720px}.public-hero-art{min-height:390px}.public-logo-circle{width:min(55vw,340px)}.public-orbit-one{width:min(68vw,410px)}.public-orbit-two{width:min(80vw,485px)}}
@media(max-width:650px){.public-hero-title h1{font-size:2.45rem}.public-hero-copy>p{font-size:.95rem}.public-hero-art{min-height:320px}.public-logo-circle{width:min(72vw,300px)}.public-orbit-one{width:min(88vw,360px)}.public-orbit-two{width:min(100vw,410px)}.public-instrument{grid-template-rows:auto 190px auto;min-height:0}.public-heading-vertical h2{font-size:1.85rem}}

/* Nueva presentación de instrumentos */
.public-instruments>.public-heading-vertical{display:block!important;width:100%;max-width:1180px;margin:0 auto 3.25rem;text-align:center!important}.public-instruments>.public-heading-vertical>span{display:block;width:100%;margin:0 auto .65rem;text-align:center!important}.public-instruments>.public-heading-vertical>h2{display:block;width:100%;max-width:1080px;margin:0 auto;text-align:center!important;text-wrap:balance}
.public-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.public-instrument{position:relative;display:grid;grid-template-columns:minmax(180px,42%) 1fr;grid-template-rows:1fr auto;min-height:315px;padding:0;border:1px solid #d8e7e9;border-radius:1.25rem;background:#fff;box-shadow:0 16px 42px rgba(18,65,80,.08)}.public-instrument::before{content:"";position:absolute;z-index:2;top:1.2rem;left:calc(42% - 4px);width:8px;height:42px;border-radius:5px;background:linear-gradient(var(--teal),var(--aqua));opacity:.8}.public-card-logo{grid-column:1;grid-row:1/3;width:100%;height:100%;min-height:315px;margin:0;padding:1.35rem;border-radius:1.2rem 0 0 1.2rem;background:radial-gradient(circle at 50% 40%,#fff,#edf6f6 72%)}.public-card-logo img{width:100%;height:100%;max-height:230px;object-fit:contain}.public-card-title{grid-column:2;grid-row:1;justify-content:center;padding:1.45rem 1.4rem .85rem;background:transparent}.public-card-title>span{margin-bottom:.25rem;color:#0a8799;font-size:.62rem;letter-spacing:.11em}.public-card-title h3{margin:.35rem 0 .65rem;color:#19465a;font-size:clamp(1.05rem,1.55vw,1.32rem);line-height:1.3}.public-card-title p{flex:initial;color:#667f89;font-size:.76rem;line-height:1.7}.public-card-footer{grid-column:2;grid-row:2;min-height:65px;margin:0 1.35rem;padding:.8rem 0 1rem;border-top:1px solid #e2ecee;background:transparent}.public-card-footer>b{letter-spacing:.05em}.public-card-footer>strong{padding:.55rem .8rem;border-radius:.65rem}.public-instrument.is-ready:hover{transform:translateY(-6px) scale(1.005);border-color:#6dc8c5;box-shadow:0 24px 55px rgba(7,120,140,.16)}.public-instrument.is-soon{filter:none}.public-instrument.is-soon .public-card-logo{filter:saturate(.38);opacity:.62}.public-instrument.is-soon::before{background:#c5c9c7}.public-instrument.is-soon .public-card-title{opacity:.8}
@media(max-width:1050px){.public-card-grid{grid-template-columns:1fr}.public-instrument{min-height:290px}.public-card-logo{min-height:290px}}
@media(max-width:620px){.public-card-grid{gap:1rem}.public-instrument{grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0}.public-instrument::before{top:calc(210px - 4px);left:1.2rem;width:42px;height:8px}.public-card-logo{grid-column:1;grid-row:1;width:100%;height:210px;min-height:210px;padding:1rem;border-radius:1.2rem 1.2rem 0 0}.public-card-logo img{max-height:180px}.public-card-title{grid-column:1;grid-row:2;padding:1.25rem 1.15rem .8rem}.public-card-footer{grid-column:1;grid-row:3;margin:0 1.15rem}.public-instruments>.public-heading-vertical{margin-bottom:2.25rem}.public-instruments>.public-heading-vertical>h2{font-size:1.8rem}}

/* Identidad multicolor, equipo y ciclo interactivo */
.public-nav{grid-template-columns:minmax(330px,1.4fr) auto auto;padding:.6rem clamp(1rem,4vw,4.5rem);border-bottom:0;background:rgba(255,255,255,.96);box-shadow:0 10px 32px rgba(26,66,89,.11)}.public-nav::after{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,#244573 0 20%,#168fa7 20% 40%,#24afa9 40% 60%,#e6a63a 60% 80%,#d65b68 80%)}.public-brand-full{min-width:0}.public-brand-full img{width:58px;height:58px}.public-brand-full>span{min-width:0}.public-brand-full b{max-width:560px;font-family:'Century Gothic','Century',sans-serif;font-size:.72rem;font-weight:600;line-height:1.35;letter-spacing:0}.public-brand-full small{margin-top:.2rem;font-family:'Poppins',sans-serif}
.pista-letters{white-space:nowrap;font-style:normal;font-weight:900}.pista-letters em,.public-hero-title .initial{font-style:normal;font-weight:800}.pista-letters em:nth-child(1),.public-hero-title .initial.p{color:#244573}.pista-letters em:nth-child(2),.public-hero-title .initial.i{color:#168fa7}.pista-letters em:nth-child(3),.public-hero-title .initial.s{color:#24afa9}.pista-letters em:nth-child(4),.public-hero-title .initial.t{color:#e6a63a}.pista-letters em:nth-child(5),.public-hero-title .initial.a{color:#d65b68}.public-nav nav{gap:.35rem;padding:.32rem;border:1px solid #e1eaee;border-radius:.85rem;background:#f4f8fa}.public-nav nav a{padding:.48rem .65rem;border-radius:.58rem;font-size:.68rem}.public-nav nav a:hover{color:#fff;background:#244573}.public-nav-access{background:linear-gradient(135deg,#244573,#168fa7)}.public-hero-title h1 span{color:#17465d}
.public-about-pill{grid-column:1/-1;display:grid;justify-items:center;gap:.5rem;max-width:920px;margin:1rem auto 0;padding:1.2rem 1.5rem;text-align:center}.public-about-pill b{display:block}.public-about-pill span{display:block;max-width:760px}.public-team{margin-top:.4rem}.public-team article{grid-template-columns:62px 1fr}.public-team h3{font-size:.86rem}.public-team p{font-size:.67rem}
.public-cycle{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(570px,1.28fr);align-items:center;gap:clamp(2rem,5vw,6rem)}.public-cycle>.public-heading-centered{display:grid;justify-items:start;margin:0;text-align:left}.public-cycle>.public-heading-centered>div{max-width:520px}.public-cycle>.public-heading-centered h2{font-family:'Century Gothic','Century',sans-serif;font-weight:600}.public-cycle>.public-heading-centered p{margin:1rem 0 0;color:#6d838c;font-family:'Century Gothic','Century',sans-serif;font-size:.95rem;line-height:1.75}.public-cycle>.cycle-layout{min-height:650px}.cycle-node,.cycle-node b,.cycle-node span{font-family:'Poppins','Segoe UI',sans-serif}.cycle-node{z-index:4;cursor:help;outline:none;transition:transform .2s,box-shadow .2s,border-color .2s}.cycle-node:hover,.cycle-node:focus{z-index:12;border-color:var(--teal);box-shadow:0 15px 35px rgba(7,134,154,.2);transform:translate(-50%,-50%) scale(1.06)}.cycle-node::after{content:attr(data-description);position:absolute;z-index:20;bottom:calc(100% + 10px);left:50%;width:220px;padding:.7rem .8rem;border-radius:.65rem;color:#fff;background:#123b50;box-shadow:0 12px 28px rgba(10,40,55,.22);font-family:'Century Gothic','Century',sans-serif;font-size:.65rem;font-weight:400;line-height:1.5;text-align:left;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:.2s}.cycle-node::before{content:"";position:absolute;z-index:21;bottom:calc(100% + 4px);left:50%;border:6px solid transparent;border-top-color:#123b50;opacity:0;transform:translateX(-50%);transition:.2s}.cycle-node:hover::after,.cycle-node:focus::after,.cycle-node:hover::before,.cycle-node:focus::before{opacity:1}.cycle-node:hover::after,.cycle-node:focus::after{transform:translate(-50%,0)}
@supports (animation-timeline:view()){.public-section>.public-heading,.public-about-title,.public-about-copy,.public-team,.cycle-layout,.public-access-message,.public-login-card,.public-card-grid .public-instrument{animation:none!important;animation-timeline:auto!important}}
@media(max-width:1180px){.public-nav{grid-template-columns:1fr auto}.public-nav nav{display:none}.public-cycle{grid-template-columns:1fr}.public-cycle>.public-heading-centered{justify-items:center;text-align:center}.public-cycle>.public-heading-centered>div{max-width:720px}.public-cycle>.cycle-layout{min-height:650px}}
@media(max-width:650px){.public-brand-full b{display:block;max-width:245px;font-size:.62rem}.public-brand-full small{display:none}.public-brand-full img{width:45px;height:45px}.public-nav{grid-template-columns:minmax(0,1fr) auto}.public-cycle>.cycle-layout{min-height:500px}.cycle-node::after{width:165px;font-size:.58rem}.node-2::after,.node-3::after{left:auto;right:0;transform:translate(0,8px)}.node-2:hover::after,.node-2:focus::after,.node-3:hover::after,.node-3:focus::after{transform:translate(0,0)}.node-5::after,.node-6::after{left:0;transform:translate(0,8px)}.node-5:hover::after,.node-5:focus::after,.node-6:hover::after,.node-6:focus::after{transform:translate(0,0)}}

/* Fundamentación: composición editorial */
.public-about{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem;padding-top:clamp(5rem,9vw,8.5rem);padding-bottom:clamp(5rem,9vw,8.5rem);overflow:hidden;text-align:left;background:linear-gradient(145deg,#0d3449 0%,#124e62 48%,#096f7d 100%)}.public-about::before{content:"PISTA";position:absolute;top:-.16em;right:-.04em;color:rgba(255,255,255,.025);background:none;font-family:'Poppins',sans-serif;font-size:clamp(9rem,24vw,25rem);font-weight:900;letter-spacing:-.08em;line-height:1;animation:none}.public-about::after{content:"";position:absolute;left:-9rem;bottom:-12rem;width:32rem;height:32rem;border:1px solid rgba(82,213,204,.14);border-radius:50%;box-shadow:0 0 0 55px rgba(82,213,204,.025),0 0 0 110px rgba(82,213,204,.02)}
.public-about-title{grid-column:2/12;display:grid;justify-items:center;margin-bottom:1.5rem;text-align:center}.public-about-title>span{display:inline-flex;align-items:center;gap:.6rem;padding:.42rem .75rem;border:1px solid rgba(81,213,202,.3);border-radius:3rem;color:#65ddd4;background:rgba(21,118,130,.24);backdrop-filter:blur(8px)}.public-about-title>span::before{content:"";width:7px;height:7px;border-radius:50%;background:#52d5ca;box-shadow:0 0 0 5px rgba(82,213,202,.12)}.public-about-title h2{max-width:880px;margin:.85rem auto .65rem;color:#fff;font-size:clamp(2.45rem,5vw,4.5rem);line-height:1.04;letter-spacing:-.05em}.public-about-title h2 br{display:none}.public-about-title>p{max-width:690px;margin:.45rem auto 0;color:#b9d5da;font-size:.92rem;line-height:1.75}
.public-about-copy{grid-column:2/12;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:none;margin:0}.public-about-copy>p{position:relative;margin:0;padding:1.4rem 1.45rem 1.4rem 3.4rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;color:#d2e3e6;background:linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.045));box-shadow:0 16px 35px rgba(4,29,40,.13);font-size:.82rem;line-height:1.75;backdrop-filter:blur(8px)}.public-about-copy>p::before{position:absolute;top:1.25rem;left:1.25rem;color:#54d4ca;font-family:'Poppins',sans-serif;font-size:.7rem;font-weight:900}.public-about-copy>p:first-child::before{content:"01"}.public-about-copy>p:nth-child(2)::before{content:"02"}.public-about-copy>p:hover{border-color:rgba(85,218,207,.3);color:#fff;transform:translateY(-3px)}
.public-about>.public-about-pill{grid-column:3/11;position:relative;display:grid;justify-items:center;gap:.65rem;max-width:none;margin:1.15rem 0;padding:1.4rem 2rem;border:1px solid rgba(92,222,211,.36);border-radius:1rem;text-align:center;background:linear-gradient(120deg,rgba(34,177,170,.2),rgba(255,255,255,.07));box-shadow:0 18px 40px rgba(4,29,40,.15)}.public-about>.public-about-pill b{color:#6de2d8;font-size:.65rem;letter-spacing:.17em}.public-about>.public-about-pill span{max-width:760px;color:#fff;font-family:'Century Gothic','Century',sans-serif;font-size:.9rem;line-height:1.7}
.public-about>.public-team{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1.1rem}.public-about>.public-team article{position:relative;grid-template-columns:58px 1fr;padding:.75rem;border:1px solid rgba(255,255,255,.1);background:rgba(6,45,59,.35);box-shadow:none}.public-about>.public-team article::after{content:"";position:absolute;right:.75rem;bottom:.65rem;width:24px;height:2px;border-radius:2px;background:#4fcfc5;opacity:.55}.public-about>.public-team img{width:58px;height:58px;border:2px solid rgba(91,220,210,.55);box-shadow:0 6px 16px rgba(2,26,36,.2)}.public-about>.public-team h3{font-size:.78rem}.public-about>.public-team p{color:#a9c8cd;font-size:.62rem}
@media(max-width:900px){.public-about-title,.public-about-copy{grid-column:1/-1}.public-about>.public-about-pill{grid-column:1/-1}.public-about-copy{grid-template-columns:1fr}.public-about>.public-team{grid-template-columns:1fr}.public-about-title h2 br{display:block}}
@media(max-width:600px){.public-about{padding-inline:1rem}.public-about-title{justify-items:start;text-align:left}.public-about-title>p{margin-left:0}.public-about-copy>p{padding:1.15rem 1.1rem 1.15rem 3rem}.public-about-copy>p::before{top:1.05rem;left:1rem}.public-about>.public-about-pill{padding:1.15rem}.public-about-title h2{font-size:2.35rem}}

.public-about>.public-team article{grid-template-columns:82px 1fr;padding:.9rem}.public-about>.public-team img{width:82px;height:82px}.public-about>.public-team h3{font-size:.84rem}.public-about>.public-team p{font-size:.65rem}@media(max-width:600px){.public-about>.public-team article{grid-template-columns:72px 1fr}.public-about>.public-team img{width:72px;height:72px}}

/* Portal privado de estadísticos */
.stats-portal{--stats-ink:#173e54;--stats-blue:#244573;--stats-teal:#078a9d;--stats-aqua:#26b4aa;margin:0;color:var(--stats-ink);background:#f2f7f8;font-family:'Poppins','Segoe UI',sans-serif}.stats-portal *{box-sizing:border-box}.stats-portal main{position:relative;z-index:1}.stats-nav{position:sticky;z-index:50;top:0;display:grid;grid-template-columns:minmax(350px,1fr) auto minmax(230px,auto);align-items:center;gap:1.5rem;padding:.65rem clamp(1rem,4vw,4.5rem);border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#244573,#168fa7,#24afa9,#e6a63a,#d65b68) 1;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(24,65,84,.1);backdrop-filter:blur(16px)}.stats-brand{display:flex;align-items:center;gap:.7rem;min-width:0;color:var(--stats-ink);text-decoration:none}.stats-brand img{width:58px;height:58px;object-fit:contain}.stats-brand>span{display:grid;min-width:0}.stats-brand b{max-width:560px;font-family:'Century Gothic','Century',sans-serif;font-size:.7rem;line-height:1.35}.stats-brand small{color:#748991;font-size:.62rem}.stats-nav>nav{display:flex;gap:.3rem;padding:.3rem;border:1px solid #e0eaed;border-radius:.8rem;background:#f4f8f9}.stats-nav>nav a{padding:.5rem .72rem;border-radius:.55rem;color:#607781;text-decoration:none;font-size:.68rem;font-weight:800}.stats-nav>nav a:hover,.stats-nav>nav a.is-current{color:#fff;background:var(--stats-blue)}.stats-session{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}.stats-avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--stats-blue),var(--stats-teal));font-weight:900}.stats-session>span{display:grid;max-width:150px}.stats-session small{color:#82949b;font-size:.55rem;text-transform:uppercase}.stats-session b{overflow:hidden;color:#35596a;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.stats-session form{margin:0}.stats-session button{padding:.48rem .65rem;border:1px solid #d5e1e4;border-radius:.55rem;color:#526c77;background:#fff;cursor:pointer;font:inherit;font-size:.65rem;font-weight:800}.stats-session button:hover{color:#fff;border-color:#b43e51;background:#b43e51}
.stats-welcome{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);align-items:center;min-height:470px;padding:clamp(3.5rem,7vw,6rem) clamp(1rem,7vw,7rem);overflow:hidden;background:radial-gradient(circle at 82% 42%,rgba(37,181,171,.17),transparent 25%),linear-gradient(135deg,#fcfefe,#e8f4f4)}.stats-welcome::before{content:"";position:absolute;right:-10rem;bottom:-15rem;width:35rem;height:35rem;border:1px solid rgba(7,138,157,.1);border-radius:50%;box-shadow:0 0 0 60px rgba(7,138,157,.025)}.stats-welcome-copy{position:relative;z-index:2;max-width:750px}.stats-welcome-copy>span,.stats-instruments>header>span{color:var(--stats-teal);font-size:.68rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.stats-welcome h1{margin:.5rem 0 .85rem;color:var(--stats-ink);font-family:'Century Gothic','Century',sans-serif;font-size:clamp(2.8rem,5vw,5rem);font-weight:400;letter-spacing:-.045em}.stats-welcome h1 i{color:var(--stats-teal);font-style:normal;font-weight:700}.stats-welcome-copy>p{max-width:650px;color:#627b85;font-family:'Century Gothic','Century',sans-serif;font-size:1rem;line-height:1.75}.stats-summary{display:flex;gap:.7rem;margin-top:1.7rem}.stats-summary article{display:grid;min-width:115px;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.9);border-radius:.8rem;background:rgba(255,255,255,.75);box-shadow:0 10px 25px rgba(28,74,89,.07)}.stats-summary b{color:var(--stats-blue);font-family:'Century Gothic','Century',sans-serif;font-size:1.45rem}.stats-summary span{color:#748991;font-size:.6rem}.stats-emblem{position:relative;z-index:2;display:grid;justify-items:center;gap:1rem}.stats-emblem>div{display:grid;width:min(25vw,300px);aspect-ratio:1;place-items:center;border:1px solid #fff;border-radius:50%;background:rgba(255,255,255,.84);box-shadow:0 30px 65px rgba(20,73,89,.16)}.stats-emblem img{width:88%;height:88%;object-fit:contain}.stats-emblem>span{color:#63808a;font-family:'Century Gothic','Century',sans-serif;font-size:.72rem}
.stats-instruments{padding:clamp(4rem,7vw,7rem) clamp(1rem,7vw,7rem);background:#fff}.stats-instruments>header{max-width:850px;margin:0 auto 2.8rem;text-align:center}.stats-instruments h2{margin:.4rem 0;color:var(--stats-ink);font-family:'Century Gothic','Century',sans-serif;font-size:clamp(2rem,3.7vw,3.35rem);font-weight:500;letter-spacing:-.035em}.stats-instruments>header p{color:#72878f;font-size:.78rem;line-height:1.7}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;max-width:1300px;margin:auto}.stats-card{display:grid;grid-template-columns:42% 58%;min-height:295px;overflow:hidden;border:1px solid #dae7e9;border-radius:1.2rem;color:inherit;background:#fff;box-shadow:0 15px 40px rgba(23,67,82,.08);text-decoration:none;transition:.25s}.stats-card-image{display:grid;place-items:center;padding:1.2rem;background:radial-gradient(circle,#fff,#ebf4f5)}.stats-card-image img{width:100%;height:100%;max-height:220px;object-fit:contain}.stats-card-content{display:flex;min-width:0;flex-direction:column;padding:1.25rem}.stats-card-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.stats-card-label>span{color:#16899a;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.stats-card-label>b{padding:.3rem .5rem;border-radius:2rem;color:#777166;background:#efede8;font-size:.55rem;text-transform:uppercase}.stats-card-label b i{display:inline-block;width:7px;height:7px;margin-right:.35rem;border-radius:50%;background:#1db779;animation:publicPulse 1.6s infinite}.stats-card.is-enabled .stats-card-label>b{color:#087c69;background:#e0f6ee}.stats-card h3{margin:1rem 0 .5rem;color:#214c60;font-family:'Century Gothic','Century',sans-serif;font-size:1.2rem}.stats-card p{flex:1;margin:0;color:#6d838c;font-family:'Century Gothic','Century',sans-serif;font-size:.72rem;line-height:1.65}.stats-card strong{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding:.65rem .75rem;border-radius:.65rem;color:#fff;background:linear-gradient(135deg,var(--stats-teal),var(--stats-aqua));font-size:.68rem;box-shadow:0 8px 18px rgba(7,138,157,.2)}.stats-card strong i{font-size:1rem;font-style:normal}.stats-card.is-enabled:hover{transform:translateY(-6px);border-color:#70c8c5;box-shadow:0 24px 52px rgba(7,113,132,.16)}.stats-card:not(.is-enabled){filter:saturate(.45);opacity:.78}.stats-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,7vw,7rem);color:#aec4ca;background:#0d3549;font-size:.65rem}.stats-footer>div{display:flex;align-items:center;gap:.6rem}.stats-footer img{width:48px;height:42px;object-fit:contain;filter:brightness(0) invert(1);opacity:.82}.stats-footer p{margin:0}.stats-particles{position:fixed;z-index:0;inset:0;pointer-events:none}.stats-particles i{position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(20,157,166,.15);animation:particleRise 22s linear infinite}.stats-particles i:nth-child(1){left:8%;bottom:-10%;animation-delay:-4s}.stats-particles i:nth-child(2){left:25%;bottom:-10%;animation-delay:-15s}.stats-particles i:nth-child(3){left:45%;bottom:-10%;animation-delay:-8s}.stats-particles i:nth-child(4){left:65%;bottom:-10%;animation-delay:-18s}.stats-particles i:nth-child(5){left:82%;bottom:-10%;animation-delay:-10s}.stats-particles i:nth-child(6){left:94%;bottom:-10%;animation-delay:-2s}
@media(max-width:1050px){.stats-nav{grid-template-columns:1fr auto}.stats-nav>nav{display:none}.stats-welcome{grid-template-columns:1fr}.stats-emblem{margin-top:2rem}.stats-emblem>div{width:min(55vw,280px)}.stats-grid{grid-template-columns:1fr}}
@media(max-width:650px){.stats-nav{padding:.55rem .7rem}.stats-brand img{width:44px;height:44px}.stats-brand b{display:block;max-width:230px;font-size:.58rem}.stats-brand small,.stats-session>span,.stats-avatar{display:none}.stats-welcome{padding-top:3rem}.stats-summary{flex-wrap:wrap}.stats-summary article{flex:1;min-width:90px}.stats-card{grid-template-columns:1fr}.stats-card-image{height:205px}.stats-card-content{min-height:230px}.stats-footer{align-items:flex-start;flex-direction:column;gap:.7rem}}

/* Rediseño del marco de Estadísticos CURPI (sin alterar gráficas) */
.estadisticos-page{--curpi-ink:#173f55;--curpi-blue:#244573;--curpi-teal:#078b9e;--curpi-aqua:#27b4aa;margin:0;color:var(--curpi-ink);background:linear-gradient(180deg,#edf5f6 0,#f7fafa 420px,#f2f6f7 100%);font-family:'Poppins','Segoe UI',sans-serif}.estadisticos-page *{box-sizing:border-box}.estadisticos-page .admin-navbar{position:sticky;z-index:80;top:0;display:grid;grid-template-columns:minmax(360px,1fr) auto minmax(230px,auto);align-items:center;gap:1.3rem;min-height:76px;padding:.55rem clamp(1rem,4vw,4.5rem);border:0;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(23,63,85,.11);backdrop-filter:blur(16px)}.estadisticos-page .admin-navbar::after{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,#244573 0 20%,#168fa7 20% 40%,#24afa9 40% 60%,#e6a63a 60% 80%,#d65b68 80%)}.estadisticos-page .admin-marca{display:flex;align-items:center;gap:.7rem;min-width:0;color:var(--curpi-ink);text-decoration:none}.estadisticos-page .admin-marca>img{display:block;width:57px;height:57px;object-fit:contain}.estadisticos-page .admin-marca>span{display:grid;min-width:0}.estadisticos-page .admin-marca strong{max-width:560px;color:#244a60;font-family:'Century Gothic','Century',sans-serif;font-size:.71rem;font-weight:600;line-height:1.35;letter-spacing:0}.estadisticos-page .admin-marca small{margin-top:.18rem;color:#789098;font-size:.58rem}.curpi-admin-links{display:flex;gap:.3rem;padding:.3rem;border:1px solid #e0eaed;border-radius:.8rem;background:#f3f8f9}.curpi-admin-links a{padding:.48rem .68rem;border-radius:.55rem;color:#627a84;text-decoration:none;font-size:.65rem;font-weight:800}.curpi-admin-links a:hover,.curpi-admin-links a.activo{color:#fff;background:var(--curpi-blue)}.estadisticos-page .admin-sesion{display:flex;align-items:center;justify-content:flex-end;gap:.55rem}.estadisticos-page .admin-sesion>i{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--curpi-blue),var(--curpi-teal));font-style:normal;font-weight:900}.estadisticos-page .admin-sesion>span{display:grid;max-width:145px}.estadisticos-page .admin-sesion small{color:#8799a0;font-size:.52rem;text-transform:uppercase}.estadisticos-page .admin-sesion b{overflow:hidden;color:#36596a;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.estadisticos-page .admin-sesion form{margin:0}.estadisticos-page .admin-sesion button{padding:.46rem .62rem;border:1px solid #d5e1e4;border-radius:.55rem;color:#526d78;background:#fff;font:inherit;font-size:.62rem;font-weight:800}.estadisticos-page .admin-sesion button:hover{color:#fff;border-color:#b64052;background:#b64052}
.estadisticos-page .curpi-dashboard{width:min(100%,1540px);margin:auto;padding:1.2rem clamp(1rem,3vw,3rem) 5rem}.estadisticos-page .dashboard-miga{display:flex;align-items:center;gap:.55rem;margin:.4rem 0 1rem;color:#82969e;font-size:.65rem}.estadisticos-page .dashboard-miga a{color:var(--curpi-teal);font-weight:800;text-decoration:none}.estadisticos-page .dashboard-encabezado{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:190px;padding:1.6rem 2rem;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:1.25rem;background:radial-gradient(circle at 82% 20%,rgba(38,180,170,.18),transparent 28%),linear-gradient(135deg,#fff,#e6f2f3);box-shadow:0 18px 45px rgba(23,70,87,.1)}.estadisticos-page .dashboard-encabezado::after{content:"";position:absolute;right:-90px;bottom:-150px;width:300px;height:300px;border:1px solid rgba(7,139,158,.12);border-radius:50%;box-shadow:0 0 0 42px rgba(7,139,158,.025)}.dashboard-curpi-identidad{position:relative;z-index:1;display:flex;align-items:center;gap:1.5rem}.dashboard-curpi-identidad>img{width:150px;height:115px;padding:.6rem;border:1px solid #dae8ea;border-radius:1rem;background:rgba(255,255,255,.82);object-fit:contain;box-shadow:0 10px 25px rgba(22,70,86,.09)}.estadisticos-page .dashboard-encabezado span,.estadisticos-page .configuracion-curpi-encabezado>span,.estadisticos-page .datos-card-cabecera span,.estadisticos-page .seccion-titulo>span,.estadisticos-page .kpis-encabezado span{color:var(--curpi-teal);font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.estadisticos-page .dashboard-encabezado h1{margin:.35rem 0;color:var(--curpi-ink);font-family:'Century Gothic','Century',sans-serif;font-size:clamp(2rem,3.5vw,3.4rem);font-weight:500;letter-spacing:-.04em}.estadisticos-page .dashboard-encabezado p{margin:0;color:#6e848d;font-family:'Century Gothic','Century',sans-serif;font-size:.78rem}.estadisticos-page .dashboard-total{position:relative;z-index:2;display:grid;min-width:145px;padding:1rem 1.2rem;border:1px solid #d5e6e8;border-radius:1rem;text-align:center;background:rgba(255,255,255,.88);box-shadow:0 12px 28px rgba(22,70,86,.09)}.estadisticos-page .dashboard-total small{color:#7a9098;font-size:.58rem;text-transform:uppercase}.estadisticos-page .dashboard-total strong{color:var(--curpi-blue);font-family:'Century Gothic','Century',sans-serif;font-size:2.1rem}
.estadisticos-page .alert{margin:1rem 0;padding:.8rem 1rem;border:0;border-radius:.75rem;font-size:.72rem;box-shadow:0 8px 20px rgba(30,68,82,.07)}.estadisticos-page .configuracion-curpi-card{display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);gap:1.5rem;margin:1rem 0;padding:1.1rem;border:1px solid #dbe7e9;border-radius:1rem;background:#fff;box-shadow:0 12px 32px rgba(25,67,82,.07)}.estadisticos-page .configuracion-curpi-encabezado{padding:.6rem}.estadisticos-page .configuracion-curpi-encabezado h2{margin:.3rem 0;color:#244c60;font-family:'Century Gothic','Century',sans-serif;font-size:1.25rem}.estadisticos-page .configuracion-curpi-encabezado p{margin:0;color:#788b93;font-size:.67rem;line-height:1.55}.estadisticos-page .tabla-configuracion-contenedor{border:1px solid #e1eaec;border-radius:.8rem;background:#f9fbfb}.estadisticos-page .tabla-configuracion-curpi{margin:0}.estadisticos-page .tabla-configuracion-curpi th{color:#fff;background:#244573;font-size:.61rem;text-transform:uppercase}.estadisticos-page .tabla-configuracion-curpi td{padding:.72rem;font-size:.7rem}.estadisticos-page .boton-editar-semestre{padding:.42rem .7rem;border:0;border-radius:.5rem;color:#fff;background:var(--curpi-teal);font-weight:800}.estadisticos-page .formulario-edicion-semestre{margin:.7rem;padding:.8rem;border-radius:.65rem;background:#edf6f6}
.estadisticos-page .filtros-curpi{display:flex;align-items:center;gap:.7rem;margin:1rem 0;padding:.8rem;border:1px solid #dbe7e9;border-radius:.9rem;background:#fff;box-shadow:0 10px 25px rgba(25,67,82,.06)}.estadisticos-page .filtros-curpi::before{content:"Filtrar resultados";margin-right:auto;color:#536f7a;font-size:.66rem;font-weight:900;text-transform:uppercase}.estadisticos-page .filtro-checkbox{min-width:210px}.estadisticos-page .filtro-checkbox summary{border-color:#d7e4e7;background:#f7fafb}.estadisticos-page .filtro-checkbox[open] summary{border-color:#78c7c8;box-shadow:0 0 0 3px rgba(7,139,158,.08)}
.estadisticos-page .dashboard-pestanas{position:sticky;z-index:35;top:88px;display:flex;gap:.35rem;margin:1rem 0;padding:.42rem;overflow-x:auto;border:1px solid #d9e5e8;border-radius:.9rem;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(24,67,82,.09);backdrop-filter:blur(12px)}.estadisticos-page .dashboard-pestana{flex:1;min-width:max-content;padding:.68rem .8rem;border:0;border-radius:.62rem;color:#607984;background:transparent;font:inherit;font-size:.65rem;font-weight:800;text-align:center;text-decoration:none;transition:.2s}.estadisticos-page .dashboard-pestana:hover{color:var(--curpi-teal);background:#edf6f6}.estadisticos-page .dashboard-pestana.activa{color:#fff;background:linear-gradient(135deg,var(--curpi-blue),var(--curpi-teal));box-shadow:0 7px 17px rgba(36,69,115,.18)}
.estadisticos-page .datos-card,.estadisticos-page .panel-kpis,.estadisticos-page .categorias-estadisticas{margin-top:1rem;padding:1.1rem;border:1px solid #dbe7e9;border-radius:1rem;background:#fff;box-shadow:0 14px 38px rgba(25,67,82,.075)}.estadisticos-page .datos-card-cabecera,.estadisticos-page .kpis-encabezado{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.3rem .2rem 1rem;border-bottom:1px solid #e4edef}.estadisticos-page .datos-card-cabecera h2,.estadisticos-page .kpis-encabezado h2,.estadisticos-page .seccion-titulo h2{margin:.25rem 0;color:#244c60;font-family:'Century Gothic','Century',sans-serif;font-size:1.45rem}.estadisticos-page .buscador-tabla{display:grid;gap:.25rem}.estadisticos-page .buscador-tabla input{min-width:270px;padding:.65rem .8rem;border:1px solid #d1e0e3;border-radius:.65rem;outline:0;font:inherit;font-size:.7rem}.estadisticos-page .buscador-tabla input:focus{border-color:var(--curpi-teal);box-shadow:0 0 0 4px rgba(7,139,158,.08)}.estadisticos-page .tabla-curpi-contenedor{margin-top:1rem;border:1px solid #dce7e9;border-radius:.8rem;box-shadow:inset 0 1px 0 #fff}.estadisticos-page .tabla-curpi td{padding:.62rem .7rem;border-color:#e5edef;color:#536e79;font-size:.65rem}.estadisticos-page .tabla-curpi tbody tr:nth-child(even){background:#f8fbfb}.estadisticos-page .tabla-curpi tbody tr:hover{background:#eaf5f5}.estadisticos-page .paginacion-tabla{gap:.35rem;padding:1rem 0 .2rem}.estadisticos-page .paginacion-tabla button{min-width:34px;padding:.45rem .65rem;border:1px solid #d5e3e6;border-radius:.5rem;color:#54717c;background:#fff;font-weight:800}.estadisticos-page .paginacion-tabla button.activo,.estadisticos-page .paginacion-tabla button:hover:not(:disabled){color:#fff;border-color:var(--curpi-teal);background:var(--curpi-teal)}.estadisticos-page .descarga-tabla-pie{display:flex;justify-content:flex-end;margin-top:.8rem}.estadisticos-page .boton-descargar-xlsx{padding:.7rem 1rem;border-radius:.65rem;color:#fff;background:linear-gradient(135deg,#16724f,#25a06f);box-shadow:0 9px 20px rgba(22,114,79,.18);font-size:.68rem}.estadisticos-page .categorias-resumen{gap:.55rem;padding:.7rem;border:1px solid #dbe7e9;border-radius:.85rem;background:#f6f9fa}.estadisticos-page .categoria-selector{border:1px solid #dce7e9;border-radius:.7rem;background:#fff;box-shadow:none;transition:.2s}.estadisticos-page .categoria-selector:hover,.estadisticos-page .categoria-selector.categoria-destacada{transform:translateY(-2px);border-color:#77c5c6;box-shadow:0 8px 18px rgba(26,93,106,.1)}.estadisticos-page .categoria-panel{margin-top:1rem;border-radius:.9rem}.estadisticos-page .categoria-panel-cabecera{padding:1rem 1.1rem;border-radius:.8rem;background:linear-gradient(135deg,var(--curpi-blue),var(--curpi-teal))}
@media(max-width:1050px){.estadisticos-page .admin-navbar{grid-template-columns:1fr auto}.curpi-admin-links{display:none}.estadisticos-page .configuracion-curpi-card{grid-template-columns:1fr}.estadisticos-page .dashboard-pestanas{top:78px}.dashboard-curpi-identidad>img{width:120px}.estadisticos-page .filtros-curpi{flex-wrap:wrap}.estadisticos-page .filtros-curpi::before{flex-basis:100%}}
@media(max-width:650px){.estadisticos-page .admin-navbar{padding:.5rem .7rem}.estadisticos-page .admin-marca>img{width:44px;height:44px}.estadisticos-page .admin-marca strong{display:block;max-width:220px;font-size:.57rem}.estadisticos-page .admin-marca small,.estadisticos-page .admin-sesion>i,.estadisticos-page .admin-sesion>span{display:none}.estadisticos-page .curpi-dashboard{padding-inline:.7rem}.estadisticos-page .dashboard-encabezado{align-items:stretch;flex-direction:column;padding:1rem}.dashboard-curpi-identidad{align-items:flex-start;flex-direction:column;gap:.8rem}.dashboard-curpi-identidad>img{width:115px;height:85px}.estadisticos-page .dashboard-total{width:100%}.estadisticos-page .configuracion-curpi-card{padding:.75rem}.estadisticos-page .filtros-curpi{align-items:stretch;flex-direction:column}.estadisticos-page .filtro-checkbox{width:100%;min-width:0}.estadisticos-page .dashboard-pestanas{top:66px}.estadisticos-page .dashboard-pestana{flex:none}.estadisticos-page .datos-card-cabecera,.estadisticos-page .kpis-encabezado{align-items:stretch;flex-direction:column}.estadisticos-page .buscador-tabla input{width:100%;min-width:0}}

/* Jerarquía del reporte por categoría */
.estadisticos-page .categoria-panel-cabecera span,.estadisticos-page .categoria-panel-cabecera h3{color:#fff!important}.estadisticos-page .categoria-panel-cabecera span{opacity:.78}.subcategoria-reporte{grid-column:1/-1;display:flex;align-items:center;gap:.8rem;margin:1.2rem 0 .15rem;padding:.8rem 1rem;border-left:4px solid #24afa9;border-radius:0 .65rem .65rem 0;background:linear-gradient(90deg,#e7f4f4,rgba(239,247,248,.25))}.subcategoria-reporte span{color:#078b9e;font-size:.58rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.subcategoria-reporte h4{margin:0;color:#244c60;font-family:'Century Gothic','Century',sans-serif;font-size:1rem}.estadisticos-page .grupo-pregunta-encabezado{color:#fff;background:linear-gradient(135deg,#244573,#087f98)}.estadisticos-page .grupo-pregunta-encabezado>span{color:#244573;background:#fff}.estadisticos-page .grupo-pregunta-encabezado>strong{color:#fff}.estadisticos-page .grupo-pregunta-contenido{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.estadisticos-page .grupo-pregunta-contenido>.pregunta-card:only-child{grid-column:1/-1}.ruta-pregunta-anidada{order:-2;margin:0 0 .7rem;padding:.65rem .75rem;border-left:3px solid #8a5db0;border-radius:0 .5rem .5rem 0;color:#684b78!important;background:#f5edf9;font-size:.65rem!important;line-height:1.5}.ruta-pregunta-anidada strong{display:block;margin-bottom:.12rem;color:#79459a}.estadisticos-page .pregunta-reporte-numero.es-subpregunta{order:-1}.estadisticos-page .filtros-curpi{align-items:flex-start;transition:min-height .25s,padding .25s}.estadisticos-page .filtros-curpi .filtro-checkbox[open]{flex:1;min-width:min(360px,100%)}.estadisticos-page .filtros-curpi .filtro-checkbox[open] .filtro-checkbox-opciones{position:static;width:100%;margin-top:.4rem;box-shadow:none}.estadisticos-page .filtros-curpi:has(.filtro-checkbox[open]){min-height:180px}.estadisticos-page .valor-d3{font-size:10px}.estadisticos-page .grupo-pregunta-card{grid-column:1/-1}
@media(max-width:900px){.estadisticos-page .grupo-pregunta-contenido{grid-template-columns:1fr}.estadisticos-page .filtros-curpi:has(.filtro-checkbox[open]){min-height:0}}

/* Paleta oficial del acrónimo PISTA */
.inicial-p,.pista-letters em:nth-child(1),.public-hero-title .initial.p{color:#0d3370}.inicial-i,.pista-letters em:nth-child(2),.public-hero-title .initial.i{color:#0b99a1}.inicial-s,.pista-letters em:nth-child(3),.public-hero-title .initial.s{color:#1e7d3f}.inicial-t,.pista-letters em:nth-child(4),.public-hero-title .initial.t{color:#ff8400}.inicial-a,.pista-letters em:nth-child(5),.public-hero-title .initial.a{color:#63358f}.public-nav::after,.estadisticos-page .admin-navbar::after{background:linear-gradient(90deg,#0d3370 0 20%,#0b99a1 20% 40%,#1e7d3f 40% 60%,#ff8400 60% 80%,#63358f 80%)}.stats-nav{border-image:linear-gradient(90deg,#0d3370,#0b99a1,#1e7d3f,#ff8400,#63358f) 1}

/* Las gráficas por categoría conservan su tamaño amplio original. */
.estadisticos-page .grupo-pregunta-contenido{grid-template-columns:minmax(0,1fr)}.estadisticos-page .grupo-pregunta-contenido>.pregunta-card{width:100%;min-height:330px}.estadisticos-page .grupo-pregunta-contenido .visualizacion-d3{width:100%;min-width:0}

/* Distribución solicitada: dos gráficas por fila. */
.estadisticos-page .grupo-pregunta-contenido{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.estadisticos-page .grupo-pregunta-contenido{grid-template-columns:minmax(0,1fr)}}

/* Dos columnas permanentes y contexto estadístico visible. */
.estadisticos-page .grupo-pregunta-contenido{grid-template-columns:repeat(2,minmax(540px,1fr))!important;overflow-x:auto;overscroll-behavior-inline:contain}.estadisticos-page .grupo-pregunta-contenido>.pregunta-card{min-width:540px}.nota-porcentaje-grafica{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.05rem .65rem;margin:.5rem .8rem .8rem;padding:.7rem .8rem;border:1px solid #dce9eb;border-radius:.65rem;background:linear-gradient(135deg,#f7fbfb,#edf6f6)}.nota-porcentaje-grafica strong{grid-row:1/3;color:#0d3370;font-family:'Poppins',sans-serif;font-size:1.25rem}.nota-porcentaje-grafica span{color:#476a76;font-size:.62rem;font-weight:800}.nota-porcentaje-grafica em{color:#718890;font-family:'Century Gothic','Century',sans-serif;font-size:.58rem;line-height:1.4}.kpi-barra>div{align-items:flex-start}.kpi-barra span,.kpi-leyenda span{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.35}.kpi-barra>div>strong{flex:none;white-space:nowrap;font-size:.67rem}.kpi-nota-total{display:grid;gap:.18rem;margin-top:auto;padding-top:.7rem;border-top:1px solid #e0eaed}.kpi-nota-total b{color:#345d6e;font-size:.61rem}.kpi-nota-total em{color:#7a8d94;font-family:'Century Gothic','Century',sans-serif;font-size:.56rem;line-height:1.4}.kpi-card{display:flex;flex-direction:column;height:auto;min-height:100%}.kpi-leyenda div{align-items:start}.kpi-leyenda strong{white-space:nowrap}
@media(max-width:700px){.estadisticos-page .grupo-pregunta-contenido{grid-template-columns:repeat(2,minmax(460px,1fr))!important}.estadisticos-page .grupo-pregunta-contenido>.pregunta-card{min-width:460px}.nota-porcentaje-grafica{margin-inline:.45rem}}

/* Partículas ambientales y transiciones entre secciones */
.pista-public main,.public-footer{position:relative;z-index:1}.public-particles{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none}.public-particles i{position:absolute;bottom:-12vh;width:8px;height:8px;border-radius:50%;background:rgba(11,153,167,.22);box-shadow:0 0 18px rgba(31,184,175,.2);animation:particleRise 18s linear infinite}.public-particles i:nth-child(2n){width:13px;height:13px;border:1px solid rgba(8,126,156,.22);background:transparent}.public-particles i:nth-child(3n){width:5px;height:5px;background:rgba(36,69,115,.2)}.public-particles i:nth-child(1){left:5%;animation-duration:19s;animation-delay:-4s}.public-particles i:nth-child(2){left:14%;animation-duration:24s;animation-delay:-17s}.public-particles i:nth-child(3){left:25%;animation-duration:16s;animation-delay:-8s}.public-particles i:nth-child(4){left:34%;animation-duration:22s;animation-delay:-2s}.public-particles i:nth-child(5){left:43%;animation-duration:27s;animation-delay:-20s}.public-particles i:nth-child(6){left:53%;animation-duration:18s;animation-delay:-12s}.public-particles i:nth-child(7){left:61%;animation-duration:25s;animation-delay:-6s}.public-particles i:nth-child(8){left:70%;animation-duration:20s;animation-delay:-16s}.public-particles i:nth-child(9){left:78%;animation-duration:28s;animation-delay:-10s}.public-particles i:nth-child(10){left:86%;animation-duration:17s;animation-delay:-3s}.public-particles i:nth-child(11){left:93%;animation-duration:23s;animation-delay:-14s}.public-particles i:nth-child(12){left:48%;animation-duration:30s;animation-delay:-25s}@keyframes particleRise{0%{transform:translate3d(0,12vh,0) scale(.7);opacity:0}12%{opacity:.8}50%{transform:translate3d(35px,-52vh,0) scale(1)}88%{opacity:.55}100%{transform:translate3d(-25px,-118vh,0) scale(1.25);opacity:0}}
.public-section{position:relative;isolation:isolate}.public-section::after{content:"";position:absolute;z-index:-1;top:-1px;left:50%;width:min(88%,1180px);height:1px;background:linear-gradient(90deg,transparent,rgba(7,134,154,.2),transparent);transform:translateX(-50%)}.public-hero-title,.public-hero-copy,.public-hero-art,.public-actions{animation:heroEntrance .8s both cubic-bezier(.2,.75,.25,1)}.public-hero-copy{animation-delay:.12s}.public-hero-art{animation-delay:.2s}.public-actions{animation-delay:.3s}@keyframes heroEntrance{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@supports (animation-timeline:view()){.public-section>.public-heading,.public-about-title,.public-about-copy,.public-team,.cycle-layout,.public-access-message,.public-login-card{animation:sectionReveal both cubic-bezier(.2,.7,.2,1);animation-timeline:view();animation-range:entry 8% cover 32%}.public-card-grid .public-instrument{animation:cardReveal both cubic-bezier(.2,.7,.2,1);animation-timeline:view();animation-range:entry 5% cover 28%}.public-card-grid .public-instrument:nth-child(2){animation-range:entry 9% cover 32%}.public-card-grid .public-instrument:nth-child(3){animation-range:entry 13% cover 36%}.public-card-grid .public-instrument:nth-child(4){animation-range:entry 17% cover 40%}}@keyframes sectionReveal{from{opacity:0;transform:translateY(42px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes cardReveal{from{opacity:0;transform:translateY(34px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.public-particles{display:none}.pista-public *,.pista-public *::before,.pista-public *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}

/* Dos tarjetas por fila para todas las preguntas, anidadas o independientes. */
.estadisticos-page .preguntas-estadisticas{display:grid!important;grid-template-columns:repeat(2,minmax(540px,1fr))!important;align-items:start;gap:1rem;overflow-x:auto;overflow-y:hidden;padding-bottom:.5rem}.estadisticos-page .grupo-pregunta-card{grid-column:auto!important;width:100%;min-width:540px}.estadisticos-page .grupo-pregunta-card:not(.tiene-anidadas) .grupo-pregunta-contenido{display:block!important;overflow:visible}.estadisticos-page .grupo-pregunta-card:not(.tiene-anidadas) .pregunta-card{min-width:0}.estadisticos-page .grupo-pregunta-card.tiene-anidadas{grid-column:1/-1!important}.estadisticos-page .grupo-pregunta-card.tiene-anidadas .grupo-pregunta-contenido{display:grid!important;grid-template-columns:repeat(2,minmax(540px,1fr))!important}.estadisticos-page .subcategoria-reporte{grid-column:1/-1!important}.estadisticos-page .pregunta-card h4,.estadisticos-page .grupo-pregunta-encabezado>strong{max-width:100%;overflow:visible;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;text-wrap:pretty}.estadisticos-page .pregunta-card h4{min-height:auto;line-height:1.5}.estadisticos-page .grafica-d3{min-width:0}.estadisticos-page .grafica-d3 .visualizacion-d3{display:block;width:100%;height:auto}
@media(max-width:700px){.estadisticos-page .preguntas-estadisticas{grid-template-columns:repeat(2,minmax(460px,1fr))!important}.estadisticos-page .grupo-pregunta-card{min-width:460px}.estadisticos-page .grupo-pregunta-card.tiene-anidadas .grupo-pregunta-contenido{grid-template-columns:repeat(2,minmax(460px,1fr))!important}}
