:root {
--azul-oscuro: #101c3b;
--azul-enlace: #3f7395;
--azul-institucional: #4f8fb8;
--azul-institucional-oscuro: #366d91;
--gris-fondo: #e9ecef;
--blanco: #ffffff;
--radio-componente: 12px;
--sombra-suave: 0 10px 28px rgba(38, 50, 74, .08);
}

/* Regla definitiva de altura de modales. */
html body .modal,
html body .modalanio,
html body .statistics-filter-modal,
html body .novedades-confirm-dialog,
html body #modalUploadDoc .upContent {
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 32px) !important;
}
html body .modal.modal-fixed-footer .modal-content {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 104px) !important;
  overflow-y: auto !important;
}
html body .modal .modal-content,
html body .modal .modal-footer {
  height: auto !important;
  min-height: 0 !important;
}
html body #deleteModal {
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;}
body {
font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
background: #ffffff;

margin: 0;
  padding: 0;
  box-sizing: border-box;
    min-height: 100vh;
  overflow-x: hidden; /* Evita scroll horizontal innecesario */
}





/* ===== LOADER GLOBAL ===== */

body.is-loading {
  overflow: hidden; /* bloquea scroll mientras carga */
}

.oelogo {
width: 300px;
padding-top: 7px;

}

/* Wrapper del loader ocupando toda la pantalla */
#page-loader {
  position: fixed;
  inset: 0;
  background: radial-gradient(circle at top, #ffffff 0, #f3f5fb 40%, #dfe4f3 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition:
    opacity 0.6s ease,
    visibility 0.6s ease,
    transform 0.6s ease;
}

/* Lo que hay adentro (tarjetita) */
#page-loader .loader-inner {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 18px;
  padding: 24px 32px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  transform: translateY(0);
  transition: transform 0.6s ease, opacity 0.6s ease;
}

/* Logo / texto de marca */
.loader-logo span {
  font-weight: 700;
  letter-spacing: 0.08em;
  font-size: 14px;
  text-transform: uppercase;
  color: #101c3b;
}

/* Barra de carga */
.loader-bar {
  width: 180px;
  height: 5px;
  border-radius: 999px;
  background: rgba(16, 28, 59, 0.06);
  overflow: hidden;
  position: relative;
}

.loader-bar-fill {
  width: 40%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1d5cf2, #4ca9ff);
  animation: loaderSlide 1.2s ease-in-out infinite;
}

/* Textito debajo */
.loader-text {
  font-size: 13px;
  color: #4b587a;
}

/* Animación de la barra tipo “ping–pong” */
@keyframes loaderSlide {
  0% {
    transform: translateX(-120%);
  }
  50% {
    transform: translateX(10%);
  }
  100% {
    transform: translateX(120%);
  }
}

/* ===== Estado cuando la página ya cargó ===== */

body.page-loaded #page-loader {
  opacity: 0;
  visibility: hidden;
  transform: scale(1.02);
  pointer-events: none;
}

body.page-loaded #page-loader .loader-inner {
  opacity: 0;
  transform: translateY(-12px);
}

/* Podés suavizar también la aparición del contenido */
body.is-loading main,
body.is-loading header,
body.is-loading footer {
  opacity: 0;
  filter: blur(3px);
  transform: translateY(4px);
  transition:
    opacity 0.5s ease 0.1s,
    filter 0.5s ease 0.1s,
    transform 0.5s ease 0.1s;
}

body.page-loaded main,
body.page-loaded header,
body.page-loaded footer {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}






.site-header {
  position: relative;      /* o fixed / sticky si ya lo tenés */
  z-index: 1000;
}

.main-nav {
  position: relative;
  z-index: 1001;
}

.menu > li {
  position: relative;      /* para anclar bien el submenu */
}

.menu > li .submenu {
  /*position: absolute;*/
      /* position: absolute; */
    left: 0;
   background: #357ebd !important;
    z-index: 5000;
}















header.site-header {
/*box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);*/}
/* Franja superior con logo */
.top-strip {
background: #e8f1f7;
    background: -webkit-linear-gradient(45deg, #e8f1f7 67%, #222e43 67%);
    background: -moz-linear-gradient(45deg, #e8f1f7 67%, #222e43 67%);
    background: linear-gradient(45deg, #e8f1f7 67%, #222e43 67%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#E8F1F7", endColorstr="#222E43", GradientType=0);
    /* height: 60px; */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2rem;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #cfdae5;
    box-shadow: 0 5px 18px rgba(34, 46, 67, .10);}

.top-strip-home-2 {
    background: #e8f1f7;
    background: -webkit-linear-gradient(45deg, #e8f1f7 67%, #222e43 67%);
    background: -moz-linear-gradient(45deg, #e8f1f7 67%, #222e43 67%);
    background: linear-gradient(45deg, #e8f1f7 67%, #222e43 67%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#E8F1F7", endColorstr="#222E43", GradientType=0);
    /* height: 60px; */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2rem;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #cfdae5;
    box-shadow: 0 5px 18px rgba(34, 46, 67, .10);}





.top-strip-logo {
position: relative; /* para que quede arriba del pseudo-elemento */
z-index: 1;}
.top-strip-logo img {
height: 70px;
width: auto;
display: block;}
/* Bloque central con título */
.brand-block {
background: #f5f5f5;
text-align: center;
padding: 1.75rem 1rem;}

.brand-block-home-2 {
/*background: #f5f5f5; */
    text-align: center;
    padding: 1.75rem 1rem;
}


.brand-block h1 {
font-size: 1.4rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #111827;
margin-bottom: 0.4rem;}

.brand-block-home-2 h1 {
font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #111827;
    margin-bottom: 0.4rem;

}

.brand-block p {
 font-size: 1.05rem;
font-weight: 600;
color: #2AC2ED;}


.brand-block-home-2 p {
 font-size: 1.05rem;
font-weight: 600;
color: #2AC2ED;}
/* NAV */
.main-nav {

    color: var(--blanco);
    /* border-bottom: solid 3px #2ac2ed; */
    background: #ffffff;
    /* background: linear-gradient(180deg, rgba(34, 46, 67, 1) 0%, rgba(34, 60, 110, 1) 100%); */
  
}
.nav-inner {
max-width: 1200px;
    width: auto;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-wrap: wrap;
    flex-direction: column-reverse;
}
/* Botón hamburguesa (oculto en desktop) */
.nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.75rem 0.25rem;
    /* margin-left: auto; */
    margin-left: 1px;
    margin-right: 3px;}
.nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--blanco);
    margin: 5px 0;
    transition: transform 0.2s ease, opacity 0.2s ease;
    background: #000000;
}
.menu {
list-style: none;
    display: flex;
    width: auto;
    /*gap: 4rem;*/
    /* padding: 0.9rem 0; */
    /* height: 33px; */
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 15px;
    padding-right: 15px;
    align-items: center;
    flex-wrap: wrap;
}
.menu li a {
    text-decoration: none;
    color: #000000;
    font-weight: 500;
    font-size: 13px;
    white-space: nowrap;
    letter-spacing: 0.4px;
    padding-top: 22px;
    padding-bottom: 19px;
    padding-right: 17px;
    padding-left: 17px;


}





/* -------- SUBMENÚ (desktop) -------- */
.menu > li {
  position: relative;
}

.has-submenu > a {
  /* mismo celeste de la captura al hacer hover / activo */
  /* si ya tenés una variable, usala acá */
}

.submenu {
    list-style: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    min-width: 100%;
    max-width: none;
    transform: none;
    /* min-width: 230px; */
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #347ebd;

    display: none;
    z-index: 50;

    
    
}

.submenu li + li {
  /*margin-top: 0.75rem;*/
}


.submenu a {
  position: relative;
  color: var(--blanco);
  text-decoration: none;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.35;
  white-space: normal;
  display: block;
  padding: 22px 17px 19px !important;
  border-radius: 0;
}

.menu > li {
  flex: 0 0 auto;
  text-align: center;
}

.menu > li > a.menuPad {
  display: block;
  width: auto;
}

.submenu a:hover,
.submenu a:focus-visible {
  text-decoration: underline;
}

/* Mostrar submenú al pasar el mouse o con foco (desktop) */
.menu > li:hover > .submenu,
.menu > li:focus-within > .submenu {
     display: block;
    background: #ffffff;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
    text-align: center;
    left: 0;
    width: 100%;
    min-width: 100%;
    transform: none;

}


.menuPad {
padding-left: 50px !important;
padding-right: 50px !important;

}


/* Opcional: resaltar el menú padre cuando el submenú está visible */
.menu > li:hover > a,
.menu > li:focus-within > a {
background: #65a4da;
    color: #ffffff;
    /* font-weight: 700;*/

    
     /* mismo celeste que el panel */
}

/* Estado persistente de la sección o página que se está visitando. */
.menu > li.is-active > a.menuPad {
  background: #65a4da;
  color: #ffffff;
}

.menu > li.is-active > a.menuPad::after {
  content: none;
}

.menu .submenu li a {
  color: #ffffff;
}

.menu .submenu li a:hover,
.menu .submenu li a:focus-visible {
color: #ffffff;
    text-decoration: none;
background: #366d9c;
    cursor: pointer;

}

.menu .submenu li a.is-current {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  background: #3d88c2;
  box-shadow: none;
}

.menu .submenu li a.is-current::before {
  content: none;
}



.menu li a:hover,
.menu li a:focus-visible {}
/* Estado abierto en mobile (para animar barras) */
.main-nav.is-open .nav-toggle span:nth-child(1) {
transform: translateY(7px) rotate(45deg);}
.main-nav.is-open .nav-toggle span:nth-child(2) {
opacity: 0;}
.main-nav.is-open .nav-toggle span:nth-child(3) {
transform: translateY(-7px) rotate(-45deg);}
/* ---------- RESPONSIVE ---------- */



#contenedor-doc {
display:flex; 
align-items:center; 
justify-content:space-between; 
gap:16px;}



@media (max-width: 1120px) { 

  .logout-menu {
          display: none;
      
  }

}


@media (max-width: 1064px) { 

  .menu {
          display: none;
        flex-direction: column;
        width: 100%;
        padding: 0 0 0.75rem;
        gap: 0.75rem;
       
        align-items: flex-start;
        justify-content: center;
  }

  .menu > li {
    flex: none;
    width: 100%;
    text-align: left;
  }




}


@media (min-width: 990px) {
    .oelogo {
      display: none;
    }
}


@media (max-width: 990px) {
    .oelogo-vertical {
      display: none;
    }
}

.oelogo-vertical {
    width: 500px;
    padding-top: 7px;
}




@media (max-width: 1064px) {


#contenedor-doc {

display: flex  !important;
    align-items: flex-start !important;
    justify-content: center  !important;
    gap: 16px  !important;
    align-content: flex-start  !important;
    flex-wrap: wrap  !important;
    flex-direction: column  !important;


}




.breadcrumb {
           display: none !important;
}


.oelogo {
    width: 192px;
    padding-top: 7px;
}




  .nav-inner {
      justify-content: space-between;
        position: absolute;
        background: #ffffff;
        /* width: 100%; */
        /* padding-left: 22px; */
        /* padding-bottom: 0px; */
        /* padding-right: 6px; */
        margin-left: 10px;
        margin-top: 10px;
        border-radius: 5px;
        box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 50px;
    
  }




.menu .submenu li a:hover, .menu .submenu li a:focus-visible {
    color: #ffffff;
    text-decoration: underline;
}








  .menu li {
    /*padding: 0 0.5rem;*/
  }

  .menu li a {
    
              display: block;
        width: 100%;
        font-weight: 600;
        padding-bottom: 9px;
        padding-top: 12px;
        padding-left: 13px;
        padding-right: 13px;
           
  }
.menu .submenu li a {

    text-decoration: underline;
}


  .nav-toggle {
    display: block;
  }

  .main-nav.is-open .menu {
    display: flex;
        padding-top: 12px;
        height: 100vh;
        justify-content: flex-start;
  }

  /* Submenú en mobile: que se vea como una lista indentada */
  .submenu {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: none;
    transform: none;
    background: none;
    /*padding: 0.25rem 0 0.5rem 1rem;*/
    display: block;       /* visible siempre debajo de “Institucional” cuando se abre el menú */
  }

  .submenu a {
    font-size: 14px;
  }

.menu .submenu li a {
    color: #ffffff;
}


.menu > li > .submenu, .menu > li > .submenu {
    background: #101c3b;
    
  
    
}

.menu > li:hover > .submenu, .menu > li:focus-within > .submenu {
    display: block;
    background: #101c3b;;
}

.titulo-pagina {

    padding-top: 30px;
}

#deleteModal {
        height: fit-content !important;
      
    

}



}





.banner-principal {
width: 100%;
height: 260px; /* Ajustá este valor al alto que quieras */
overflow: hidden;}
.banner-principal img {
width: 100%;
height: 100%;
display: block;
object-fit: cover;          /* Recorta manteniendo proporciones */
object-position: center 38%; /* Elegí qué parte se ve */
}/* ——— Sección Principal ——— */
/*.objetivos-section {
padding: 3rem 2rem 0;
font-family: 'Montserrat', sans-serif;
}*/


.objetivos-section {

    font-family: 'Montserrat', sans-serif;
    padding-bottom: 38px;
    padding-top: 30px;
    background: #f5f5f5;
    /* width: 95%; */
    margin: auto;
    padding-right: 70px;
    padding-left: 70px;

    
}

.objetivos-home {

margin-top: -225px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.novedades-home {
    position: relative;
    width: 100%;
    padding: 16px 22px;
    box-sizing: border-box;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px;
}

.novedades-header {
    display: flex;
    align-items: center;
}

.novedades-home h2 {
    margin: 0;
    color: #1a1a1a;
    font-size: 19px;
    font-weight: 700;
}

.novedades-contenido {
    margin-top: 1.5rem;
    padding-left: 21px;
    border-left: 3px solid #2ac2ed;
}

.novedades-texto {
    margin: 0;
    padding: 14px;
    border-radius: 6px;
    background: #f0f8ff;
    color: #1a1a1a;
    font-size: 14px;
    line-height: 1.8;
    overflow-wrap: anywhere;
    white-space: normal;
}

.novedades-texto:empty {
    display: none;
}

.novedades-edit-btn {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: auto;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #223352;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-transform: none !important;
    text-decoration: none;
    cursor: pointer;
}

.novedades-edit-btn {
    position: absolute;
    top: 16px;
    right: 22px;
}

.novedades-edit-btn:hover {
    background: transparent;
    color: #223352;
    text-decoration: underline;
}

.novedades-editor {
    box-sizing: border-box;
    width: 100%;
    min-height: 110px;
    padding: 14px;
    border: 1px solid #cbd8e5;
    border-radius: 6px;
    color: #1a1a1a;
    background: #f0f8ff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.novedades-editor:focus {
    outline: 2px solid #2ebce5;
    outline-offset: 2px;
}

.novedades-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 8px;
}

.novedades-toolbar button {
    min-width: 34px;
    height: 32px;
    padding: 0 9px;
    border: 1px solid #d7e1eb;
    border-radius: 5px;
    background: #fff;
    color: #223352;
    font-family: inherit;
    font-size: 12px;
    cursor: pointer;
}

.novedades-line-height {
    appearance: none;
    height: 32px;
    padding: 0 34px 0 9px;
    border: 1px solid #d7e1eb;
    border-radius: 5px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23223352' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 11px center;
    color: #223352;
    font-family: inherit;
    font-size: 12px;
    cursor: pointer;
}

.novedades-line-height:hover,
.novedades-line-height:focus-visible {
    border-color: #8bb7d4;
    outline: none;
}

.novedades-toolbar button:hover,
.novedades-toolbar button:focus-visible {
    border-color: #8bb7d4;
    background: #eef6fc;
    outline: none;
}

#vincular-estadistica {
    display: none;
}

.novedades-statistics-picker {
    display: none;
    position: fixed;
    z-index: 1200;
    margin: 0;
    overflow: hidden;
    border: 1px solid #d7e1eb;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(34, 51, 82, .12);
}

.novedades-statistics-picker.is-open {
    display: flex;
    flex-direction: column;
}

.novedades-statistics-picker-header {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    background: #223352;
    color: #fff;
    font-size: 12px;
}

.novedades-statistics-picker-header button {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    cursor: pointer;
}

.novedades-statistics-picker-header button:hover { background: rgba(255, 255, 255, .2); }

.novedades-statistics-list {
    min-height: 0;
    padding: 7px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.novedades-statistics-option {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 3px;
    padding: 10px 12px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #223352;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.novedades-statistics-option:hover,
.novedades-statistics-option:focus-visible { background: #eef7fb; outline: none; }
.novedades-statistics-option strong { color: #111; font-size: 12px; line-height: 1.4; }
.novedades-statistics-option span { color: #68758a; font-size: 11px; line-height: 1.4; }
.novedades-statistics-empty { margin: 0; padding: 14px; color: #68758a; font-size: 12px; }

.novedades-texto a,
.novedades-editor a {
    color: #176b9b;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.novedades-texto p,
.novedades-texto div,
.novedades-editor p,
.novedades-editor div { margin: 0; }
.novedades-texto ul,
.novedades-texto ol,
.novedades-editor ul,
.novedades-editor ol { margin: 0; padding-left: 1.6em; }
.novedades-texto li,
.novedades-editor li { margin: 0; line-height: inherit; }

/* El texto base de Novedades es regular; solo <b>/<strong> aplican negrita. */
.objetivos-section .novedades-home .novedades-texto,
.objetivos-section .novedades-home .novedades-editor {
    font-weight: 400;
}

.novedades-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.novedades-actions button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: auto;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #223352;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0;
    text-transform: none !important;
    text-decoration: none;
    box-shadow: none;
    cursor: pointer;
    transition: opacity .16s ease, color .16s ease;
}

.novedades-actions button:hover:not(:disabled) {
    background: transparent;
    color: #223352;
    text-decoration: underline;
}

.novedades-actions button:focus-visible {
    outline: 2px solid rgba(53, 157, 207, .35);
    outline-offset: 3px;
}

.novedades-actions button:disabled,
.novedades-actions button:disabled:hover {
    background: transparent;
    color: #223352;
    box-shadow: none;
    opacity: .42;
    text-decoration: none;
    cursor: not-allowed;
}

#novedades-estado {
    margin-right: auto;
    color: #526173;
    font-size: 12px;
}

body.novedades-modal-open { overflow: hidden; }

.novedades-confirm-modal {
    position: fixed;
    z-index: 15000;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(24, 39, 63, .42);
}

.novedades-confirm-modal.is-open {
    display: flex;
    animation: modal-soft-fade 180ms ease-out both;
}

.novedades-confirm-modal.is-closing {
    animation: modal-soft-fade-out 150ms ease-in both;
    pointer-events: none;
}

.novedades-confirm-dialog {
    width: min(480px, 100%);
    overflow: hidden;
    border: 1px solid #dce5ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(22, 36, 58, .16);
}

.novedades-confirm-modal.is-open .novedades-confirm-dialog {
    animation: modal-soft-enter 210ms cubic-bezier(.2, .75, .3, 1) both;
}

.novedades-confirm-modal.is-closing .novedades-confirm-dialog {
    animation: modal-soft-exit 150ms ease-in both;
}

.novedades-confirm-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 22px;
    border-bottom: 1px solid #e8eef4;
    background: #fff;
}

.novedades-confirm-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 10px;
    background: #eaf7fc;
    color: #168db5;
    font-size: 0;
}

.novedades-confirm-icon svg {
    display: block;
    width: 22px;
    height: 22px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.novedades-confirm-heading {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 4px;
}

.novedades-confirm-header h3 {
    margin: 0;
    color: #223352;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0;
}

.novedades-confirm-heading > span {
    color: #7a889b;
    font-size: 12px;
    line-height: 1.3;
}

.novedades-confirm-close {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #7a889b;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 160ms ease, color 160ms ease;
}

.novedades-confirm-close:hover {
    background: #f1f5f9;
    color: #334155;
}

.novedades-confirm-body { padding: 24px 22px; }

.novedades-confirm-body p {
    margin: 0;
    color: #526173;
    font-size: 14px;
    line-height: 1.65;
}

.novedades-confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
    padding: 16px 22px;
    border-top: 1px solid #e8eef4;
    background: #f8fafc;
}

.novedades-confirm-actions button {
    min-width: 110px;
    height: 38px;
    min-height: 38px;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: #e6e6e6;
    color: #111;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 36px;
    text-transform: none;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease,
                box-shadow 160ms ease, transform 160ms ease;
}

.novedades-confirm-actions button:hover {
    border-color: #a1a1a1;
    background: #d6d6d6;
}

#confirmar-cancelar-novedades {
    border-color: #ffd4d4;
    background: #fff6f7;
    color: #c94b4b;
    box-shadow: none;
}

#confirmar-cancelar-novedades:hover {
    border-color: #ffd4d4;
    background: #ffedef;
    box-shadow: none;
}

.novedades-confirm-actions button:active { transform: translateY(0); }

.novedades-confirm-actions button:focus-visible {
    outline: 3px solid rgba(53, 157, 207, .25);
    outline-offset: 2px;
}

@media (max-width: 520px) {
    .novedades-confirm-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .novedades-confirm-actions button {
        width: 100%;
        min-width: 0;
        padding: 0 10px;
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .novedades-confirm-modal.is-open,
    .novedades-confirm-modal.is-open .novedades-confirm-dialog,
    .novedades-confirm-modal.is-closing,
    .novedades-confirm-modal.is-closing .novedades-confirm-dialog {
        animation: none !important;
    }
}

/* Sistema visual unificado para los modales de consulta. */
html body .statistics-filter-modal {
  border: 1px solid #dce5ee;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 24px 64px rgba(22, 36, 58, .16);
}

html body .statistics-filter-modal .modaltitulocont {
  display: flex;
  min-height: auto;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 20px 22px;
  border-bottom: 1px solid #e8eef4;
  border-radius: 0;
  background: #fff;
  color: #223352;
}

html body .statistics-filter-modal .modaltitulocont::before {
  content: '';
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 10px;
  background-color: #eaf7fc;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23168db5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M8 17v-5M12 17V7M16 17v-8'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

html body .statistics-filter-modal .modaltitulo {
  flex: 1;
  color: #223352 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-style: normal !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}

html body .statistics-filter-modal .cerrarModal {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: transparent;
  color: #7a889b;
  font-size: 16px;
}

html body .statistics-filter-modal .cerrarModal:hover {
  background: #f1f5f9;
  color: #334155;
}

/* Los botones del sistema modal no heredan Materialize ni estilos de sección. */
html body .statistics-filter-modal .estadisticas-actions button {
  box-sizing: border-box !important;
  min-width: 110px !important;
  width: auto;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 18px !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  background: #e6e6e6 !important;
  color: #111 !important;
  box-shadow: none !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 36px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body .statistics-filter-modal .estadisticas-actions button:hover:not(:disabled) {
  border-color: #a1a1a1 !important;
  background: #d6d6d6 !important;
}

html body .statistics-filter-modal .estadisticas-actions button:disabled {
  opacity: .42 !important;
  cursor: not-allowed !important;
}

html body .statistics-filter-modal .estadisticas-actions [id*="Eliminar"] {
  border-color: #ffd4d4 !important;
  background: #fff6f7 !important;
  color: #ff9189 !important;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* Contenedor general */

.contenedor-texto {
background-color: rgb(255 255 255);
    margin-top: 5px;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 10px,10px,10px,10px;
    /* border-style: outset; */
    /* border-width: 2px; */
    /* border-color: black; */
    padding-left: 17px;
    padding-right: 17px;
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 8px;
    margin-top: 14px;
    box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px;}
/* ——— Título y texto introductorio ——— */
.objetivos-section h2 {
font-size: 19px;
font-weight: 700;
color: #1a1a1a;
margin-bottom: 1.5rem;
letter-spacing: 0.2px;}

/* Novedades ya aporta esa separación desde .novedades-contenido. */
.objetivos-section .novedades-home h2 {
margin: 0;
}
.objetivos-section .intro {
background: #f0f8ff;
padding-left: 14px;
padding-top: 11px;
padding-right: 12px;
padding-bottom: 7px;
font-size: 14px;
line-height: 25px;
/*border: solid 1px #7fc4ff;*/
border-radius: 5px;
line-height: 33px;
font-weight: 600;}


.texto-body {

font-size: 19px;
font-weight: 500;
color: #1a1a1a;
margin-bottom: 1.5rem;
letter-spacing: 0.2px;}

.texto-body-2 {

color: #1a1a1a;
margin-bottom: 1.5rem;
letter-spacing: 0.2px;}



.objetivos-section .texto-body {
    /* background: #f6f6f6; */
    padding-left: 14px;
    padding-top: 6px;
    padding-right: 12px;
    padding-bottom: 5px;
    font-size: 14px;
    line-height: 25px;
    border-radius: 5px;
    line-height: 33px;
    font-weight: 600;
    /* border-bottom: solid 1px #ddd; */
}

.objetivos-section .texto-body-2 {
    /* background: #f6f6f6; */
    
    padding-top: 6px;
   
    padding-bottom: 5px;
    font-size: 15px;
    line-height: 25px;
    border-radius: 5px;
    line-height: 33px;
    font-weight: 500;
    /* border-bottom: solid 1px #ddd; */
}





/* ——— Lista con barra azul ——— */
.lista-con-barra {
border-left: solid 3px #2AC2ED;
padding-left: 21px;}
.barra {
width: 8px;
background: #2AC2ED;
border-radius: 21px;}
.lista-con-barra ul {
counter-reset: objetivo;
list-style: none;
padding-left: 0;
margin: 0;
display: grid;
grid-template-columns: 1fr;
gap: 10px;
align-items: stretch;
padding-top: 22px;}
.lista-con-barra li {
counter-increment: objetivo;
position: relative;
min-height: 0;
padding: 17px 20px 17px 62px;
border: 1px solid #dbe7ef;
border-radius: 12px;
background: #ffffff;
color: #000000;
font-size: 14px;
font-weight: 500;
line-height: 1.7;
box-shadow: 0 8px 22px rgba(38, 50, 74, .055);}
.lista-con-barra li:not(:last-child) {
margin-bottom: 0;}
.lista-con-barra li::before {}
.list-objetivos {
list-style: none; /* Elimina las viñetas por defecto */
padding-left: 0; /* Opcional: para alinear el texto */}
.list-objetivos li::before {
content: counter(objetivo, decimal-leading-zero);
position: absolute;
top: 50%;
left: 20px;
width: auto;
color: #3f8db5;
font-size: 13px;
font-weight: 700;
line-height: 1;
letter-spacing: .12em;
transform: translateY(-50%);}
/* ——— Fondo azul inferior ——— */



.list-trabajo {
list-style: none; /* Elimina las viñetas por defecto */
padding-left: 0; /* Opcional: para alinear el texto */}
.list-trabajo li::before {


font-weight: bold; /* Opcional: para hacer la viñeta más visible */
display: inline-block; /* Opcional: para controlar el espaciado */
width: 1em; /* Opcional: para controlar el espaciado */}
/* ——— Fondo azul inferior ——— */



.fondo-azul {
background: #264d8f;
margin-top: 4rem;
padding: 4rem 2rem;}
.contenedor-cards {
display: flex;
justify-content: center;
gap: 2rem;
flex-wrap: wrap;
max-width: 1100px;
margin: 0 auto;}
/* ——— Cards ——— */
.card {
background: #fff;
padding: 2rem;
border-radius: 16px;
width: 340px;
box-shadow: 0 4px 12px rgba(0,0,0,0.12);}
.card h3 {
font-size: 1.1rem;
color: #2274d2;
margin-bottom: 1rem;
font-weight: 700;}
.card p {
margin-bottom: 1rem;
color: #333;
font-size: 0.95rem;}
.card a {
color: #2274d2;
font-weight: 600;
text-decoration: none;}
.card a:hover {
text-decoration: underline;}
/* Responsive */
@media (max-width: 768px) {
.lista-con-barra ul {
grid-template-columns: 1fr;
gap: 10px;}
.lista-con-barra li {
min-height: 0;
padding: 17px 16px 17px 56px;}
.lista-con-barra {
/*flex-direction: column;*/}
.barra {
height: 4px;
width: 60px;
}}
.site-footer {
/*background-color: #fffffff2; */
    color: #333;
    /* padding: 40px 20px; */
    width: 100%;
    /* border-top: 1px solid #ddd; */
    font-size: 14px;
    /* box-shadow: rgba(17, 17, 26, 0.05) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px; */
    padding-top: 11px;
    padding-left: 18px;
    padding-right: 18px;
    padding-bottom: 11px;
    margin-top: 12px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.footer-grid {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
max-width: 1200px;
margin: 0 auto;
gap: 40px;}
.footer-col {
    flex: 1 1 300px;
    min-width: 250px;
    font-size: 12px;
    letter-spacing: 0.5px;
    line-height: 21px;
    padding-bottom: 15px;
    /* border-left: solid 3px #1b9bff; */
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 14px;
    border-radius: 10px;
    margin-top: 9px;
    /* border: solid 1px #ddd; */
    color: #fff;
    margin-bottom: 9px;
    /* box-shadow: 0 4px 10px rgb(0 0 0 / 9%); */
    display: flex;
    flex-direction: column;
    align-content: space-around;
    flex-wrap: wrap;
}
.footer-col h4 {
margin-bottom: 10px;
    font-size: 16px;
    color: #00bbff;}
.site-footer a {
color: #00bbff;
    text-decoration: underline;
}
.site-footer a:hover {
text-decoration: underline;}
#footer {
    bottom: 0px;
    background-color: #222e43;
    font-family: 'Oxygen Mono', Tahoma, Arial, sans-serif;
    font-size: 12px;
    width: 100%;
    padding-top: 17px;
    padding-bottom: 15px;
    padding-left: 13px;
    padding-right: 13px;
    /* position: fixed; */
    box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;
    /* border-top: solid 18px #b8d0e5; */
    /* height: 103px;*/}



.icon-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    margin: 22px 0;
    flex-wrap: wrap;
}

.icon-item {
  text-align: center;
  width: 22%; /* 4 elementos por fila */
  min-width: 200px;
}

.icon-item a{
  text-decoration: none;
}

.icon-circle {
  width: 110px;
  height: 110px;
  background: #2AC2ED; /* azul tipo CM, ajustalo si querés */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px auto;
  
}

.icon-circle img {
  /*width: 48px;
  height: 48px;*/
      width: 51px;
  opacity: 0.9;
}

.icon-item p {
    margin-top: 8px;
    line-height: 1.35;
    font-size: 15px;
    color: #394150;
    font-weight: 500;
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px;
    padding-right: 20px;
    padding-left: 20px;
    padding-top: 10px;
    padding-bottom: 9px;
}


.icon-item p:hover {

    /* box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px; */
    /* border: solid 1px #e3e3e3; */
    transition: ease-in-out 0.3s;
     background-color: #f5f5f5; /* Color al entrar */
  /*transform: scale(1.05);  Efecto al entrar */


 }


.titulo-pagina {

    padding-bottom: 8px;
    text-align: center;
    letter-spacing: 1.5px;
    font-size: 23px;
    background: none;
    color: #000000;
    -webkit-text-fill-color: #000000;
    font-weight: bold;
  



}

hr {
  border: none;
  height: 1px;
  background: #e0e4ee;
  margin: 30px 0;
}

.objetivos-section .btn-documentacion {
    /* background: #f6f6f6; */
   
    padding-top: 1px;
    
    font-size: 14px;
    line-height: 25px;
    border-radius: 5px;
    line-height: 33px;
    font-weight: 600;
    /* border-bottom: solid 1px #ddd; */
}

.btn-documentacion {
    font-size: 19px;
    font-weight: 500;
    color: #1a1a1a;
    /* margin-bottom: 1.5rem; */
    letter-spacing: 0.2px;
}


.breadcrumb {
font-size: 14px;
    margin: 0;
    color: #6a758a;
    /* box-shadow: 0 4px 10px rgb(0 0 0 / 9%); */
    /* width: fit-content; */
    margin-left: 11px;
    padding-top: 16px;
    padding-bottom: 10px;
    padding-left: 11px;
    padding-right: 11px;
    border-radius: 3px;
    background-color: #f5f5f5;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;


}

.breadcrumb a {
  color: #2b7cff;
  text-decoration: none;
  font-weight: 500;
}

.breadcrumb span {
  margin: 0 4px;
}

/* .breadcrumb .actual {
  color: #3c4455;
  font-weight: 600; } */



.breadcrumb .actual {
    color: #ffffff;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 10px;
    background: #29c1ec;
    border-radius: 33px;
    padding-left: 18px;
    padding-right: 18px;
    padding-bottom: 10px;
    padding-top: 11px;

}



.breadcrumb .nolink {
  color: #6a758a; /* mismo estilo que texto normal, sin link */
}

#contenedor-doc {
display: flex;
justify-content: space-between;
align-items: center;
}
.pdf-hover:hover {
    background: #e9f3ff70;
    border: solid 1px #1b9bff42;

}
.pdf-hover{
border: solid 1px #dddddd00;
}
.pdf-hover a{
text-decoration: none !important;
}

.add-doc {
     color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    padding-top: 6px;
    padding-bottom: 0px;
    padding-left: 12px;
    padding-right: 8px;
    letter-spacing: 0.2px;
    box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px;
    background: #fff;


}

.add-doc:hover {
opacity: 0.8;

}






.logout-menu { }

.modo-edit{
  margin-bottom: 18px;
    padding: 16px;
    background: #ffffff;
    color: #000000;
    box-shadow: none;
    border: dashed 3px;
    /* border-radius: 0px; */
    /* padding-bottom: 24px !important*/
}

.nocargado {

    padding: 16px;
    font-size: 12px;
    font-weight: 600;
    padding-top: 20px;
    color: #a1a1a1;


}



#txtDesc {
     width: 100%;
     height: 180px;
    border: none;
    outline: none;
    resize: none;
    background: transparent;
    color: #8d8d8d;
}

.contextDesc {

    margin-top: 18px;
    /* border: 1px solid #e6e6e6; */
    padding: 16px;
    background: #f4f4f4;
    border-radius: 6px; }


    .modalanio {


   display: none;
    position: absolute;
    z-index: 99999;
    inset: 0px;
    margin: auto;
    /* width: min(1100px, 92vw); */
    /* height: min(740px, 92vh); */
    background: rgb(255, 255, 255);
    width: fit-content;
    height: max-content;
    border-radius: 8px;
    margin-top: 5%;

    }

    .modaltitulocont {
 display: flex;
    justify-content: space-between;
    align-items: center;
    /* border-bottom: 1px solid #eee; */
    background-image: linear-gradient(to bottom right, #1b9bff, #2274d2);
    /* background-image: linear-gradient(45deg, #6a11cb, #2575fc); */
    /* border-radius: 10px; */
    /* box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); */
    padding-top: 8px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    padding-bottom: 5px;
    padding-left: 11px;
    padding-right: 11px;
}

.modaltitulo {
    font-size: 14px;
    color: #ffffff;
    font-weight: 500;
    letter-spacing: 1px;

}




    #btnAbrir, #btnDescargar {


 



    }


  .cerrarModal {
border: none;
    width: 28px;
    height: 28px;
    border-radius: 2px;
    cursor: pointer;
    background: transparent;
    color: #ffffff;


  }

.delete-doc-btn{
      background: #fff0f0 !important;
    border: none;
    color: #ff9189 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    /* box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px; */
    height: 32.4px;
    line-height: 32.4px;
    font-size: 13px;
    border-radius: 4px;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 0px;
    border: solid 1px transparent;
}

.delete-doc-btn:hover{
        background: #fff6f7 !important;
    
    border: solid 1px #ffd4d4;
    transition: ease all 0.5s;
    cursor: pointer;

}


#selAno, #selJur, #selTit, #selSub, #selArch, #selAnoInd, #selFueroInd, #selArchInd, #selJurJ, #selAnoJ, #selTitJ, #selSubJ, #selArchJ {

    width: 100%;
    text-align: left;
    background: #f0f0f099;
    border: none;
    padding: 10px 38px 10px 12px;
    line-height: 1.2;
    cursor: pointer;
    font-size: 13px;
    border-radius: 5px;
    color: #5c5c5c;


}



.modaldocuheader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* border-bottom: 1px solid #eee; */
    background-image: linear-gradient(to bottom right, #1b9bff, #2274d2);
    /* background-image: linear-gradient(45deg, #6a11cb, #2575fc); */
    /* border-radius: 10px; */
    /* box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); */
    padding-top: 8px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    padding-bottom: 5px;
    padding-left: 11px;
    padding-right: 11px;}


    .modalDoctit {
    font-size: 14px;
    color: #ffffff;
    font-weight: 500;
    letter-spacing: 1px;
}

.tooltip-btn {
  position: relative;
}

.tooltip-btn::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: rgba(20, 20, 20, 0.95);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: 8px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.18s ease;
  z-index: 9999;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.tooltip-btn::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  border-width: 6px;
  border-style: solid;
  border-color: rgba(20, 20, 20, 0.95) transparent transparent transparent;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.18s ease;
  z-index: 9999;
}

.tooltip-btn:hover::after,
.tooltip-btn:hover::before {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.img-empty img {
width: 200px;
    filter: opacity(0.5);
    margin-top: -56px;
    margin-bottom: -38px;

}

.img-empty {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

  .doc-alert {
      margin-bottom: 18px;
    border-radius: 8px;
    padding-top: 14px;
    width: fit-content;
    box-shadow: none;
}

.doc-alert-text {
  font-weight: 700;
}

.doc-alert-success {
background: #eefaf0;
    border: solid 1px #2e7d32;
    font-size: 13px;

}

.doc-alert-success .doc-alert-text {
  color: #2e7d32;
}

.doc-alert-error {
  background: #fff9f8;
    border: solid 1px #ffadad;
    font-size: 13px;
}

.doc-alert-error .doc-alert-text {
  color: #d32f2f;
}

.textTrabajo {

    line-height: 32px;


}


#btnEliminar, #btnEliminarInd, #btnEliminarJ {

    background: #fff0f0 !important;
    border: none;
    color: #ff9189 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    /* box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px; */
    height: 32.4px;
    line-height: 32.4px;
    font-size: 13px;
    border-radius: 4px;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 0px;
    border: solid 1px transparent;

}

#btnEliminar:hover, #btnEliminarInd:hover, #btnEliminarJ:hover {
      background: #fff6f7 !important;
    border: solid 1px #ffd4d4;
    transition: ease all 0.5s;
    cursor: pointer;


}


#btnAbrir, #btnDescargar, #btnAbrirInd, #btnDescargarInd, #btnAbrirJ, #btnDescargarJ  {

background: #e6e6e6 !important;
    border: none;
    color: #000000 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    /* box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px; */
    height: 32.4px;
    line-height: 32.4px;
    font-size: 13px;
    border-radius: 4px;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 0px;
    border: solid 1px transparent;

}


#btnAbrir:hover, #btnDescargar:hover, #btnAbrirInd:hover, #btnDescargarInd:hover, #btnAbrirJ:hover, #btnDescargarJ:hover  {

    background: #d6d6d6 !important;
    box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px;
    border: solid 1px #a1a1a1;
    transition: ease all 0.5s;
    cursor: pointer;
    color: #000000 !important;

}



  .cerrarModal:hover {
        background: #ffffff;
    color: #1f84e4;
  }



  .order-btn {
    appearance: none;
    min-height: 42px;

    letter-spacing: .01em;
    

  }







    .order-btn {
      background: #ffffff !important;
    border: none;
    color: #000000 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    /* box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px; */
    height: 32.4px;
    line-height: 32.4px;
    font-size: 13px;
    border-radius: 4px;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 1px;
    cursor: pointer;
    transition: all .18s ease;
  }



.order-btn:hover, .order-btn.is-primary:hover {
background: #000000 !important;
color: #ffffff !important;
}
.order-btn.is-primary {
background: #ffffff !important;
color: #000000 !important;
border-color: #111827;
}

.modo-edit .add-doc {
    width: auto;
    min-width: 56px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px;
    border: 0;
    background: linear-gradient(180deg, #ffffff 0%, #eef3f9 100%);
    border-radius: 0;
    cursor: pointer;
    transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
  }

  .modo-edit .add-doc:hover {
        background: linear-gradient(180deg, #f8fbff 0%, #dfeafa 100%);

  }

  .modo-edit .add-doc:active {
    transform: translateY(1px);
  }

  .modo-edit .add-doc span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .modo-edit .add-doc img {
    width: 28px;
    height: 28px;
    object-fit: contain;
  }

  
  .modo-edit .add-doc::after {
    content: "Subir documento";
    color: #1f2937;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
  }

    .modo-edit {
    position: relative;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #f8fafc;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
  }

  .modo-edit::before {
    content: "Herramientas de edición";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 30px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    background: linear-gradient(180deg, #f9fbff 0%, #e8eef7 100%);
    border-bottom: 1px solid #cbd5e1;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
  }

  .modo-edit > div:first-child {
    min-height: 76px;
    padding: 42px 16px 14px !important;
    background:
      linear-gradient(90deg, rgba(37, 99, 235, .08), rgba(255, 255, 255, 0) 38%),
      linear-gradient(180deg, #ffffff 0%, #f3f6fb 100%);
  }

  .modo-edit > div:first-child > b {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 13px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #ffffff;
    color: #1e293b;
    font-size: 13px;
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 1px 2px rgba(15,23,42,.06);
  }

  .modo-edit > div:first-child > b::before {
    content: "";
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 3px;
    background:
      linear-gradient(#2563eb, #2563eb) 3px 3px / 9px 2px no-repeat,
      linear-gradient(#2563eb, #2563eb) 3px 7px / 9px 2px no-repeat,
      linear-gradient(#2563eb, #2563eb) 3px 11px / 6px 2px no-repeat,
      #dbeafe;
    border: 1px solid #bfdbfe;
  }

  .modo-edit-actions {
       display: inline-flex;
    align-items: stretch;
    gap: 0;
    flex-wrap: wrap;
    overflow: hidden;
    /* border: 1px solid #b8c5d6; */
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255, 255, 255, .95);
  }



@media (max-width: 768px) {
    #formUploadDoc .upload-grid {
      grid-template-columns: 1fr;
    }

    .addEstaTit {
      font-size: 22px;
    }

    .modo-edit > div:first-child {
      align-items: flex-start !important;
    }

    .modo-edit-actions {
      width: 100%;
      display: flex;
    }

    .modo-edit-actions .order-btn,
    .modo-edit-actions #reorderForm,
    .modo-edit-actions .add-doc {
      flex: 1 1 auto;
    }

    .modo-edit-actions #reorderForm .order-btn {
      width: 100%;
    }

    .modo-edit .add-doc::after {
      display: none;
    }
  }

  
  .order-btn:active:not(:disabled) {
    transform: translateY(1px);
    background: linear-gradient(180deg, #dfeafa 0%, #f8fbff 100%);
    background: #000000 !important;
    color: #fff !important;

  }

  .order-btn:disabled {
    cursor: not-allowed;
    color: #9d9d9d !important;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    opacity: .72;
  }

   .order-btn:disabled:hover {
  cursor: not-allowed;
    color: #9d9d9d !important;
    background: transparent !important;
    opacity: .72;

  }



  

  .order-btn.is-primary:hover:not(:disabled) {
    background: linear-gradient(180deg, #3b82f6 0%, #1e40af 100%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.24), 0 8px 18px rgba(37, 99, 235, .22);
  }

  #reorderForm {
    margin: 0 !important;
    display: inline-flex !important;
  }

  



  

  .reorder-help {
    display: none;
    width: 100%;
    margin: 0;
    padding: 11px 16px;
    border-top: 1px solid #cbd5e1;
    background: linear-gradient(180deg, #fff8e8 0%, #fff3cf 100%);
    color: #7c5200;
    font-size: 13px;
    font-weight: 600;
    opacity: 1;
  }

  .reorder-help::before {
    content: "ⓘ";
    margin-right: 7px;
    font-weight: 700;
  }

  .reorder-help.is-visible {
    display: block;
  }

  .docs-list.is-reorder-mode .doc-item {
    cursor: grab;
    user-select: none;
    border: 1px dashed rgba(17, 24, 39, .15);
  }

  .docs-list.is-reorder-mode .doc-item:active {
    cursor: grabbing;
  }

  .docs-list.is-reorder-mode .doc-item.dragging {
    opacity: .55;
  }

  .docs-list.is-reorder-mode .doc-link,
  .docs-list.is-reorder-mode .delete-doc-btn {
    pointer-events: none;
  }

  .docs-list.is-reorder-mode .delete-doc-btn,
  .docs-list.is-reorder-mode .doc-pdf-icon {
    opacity: .45;
  }

  .drag-handle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    color: #6b7280;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
  }

  .docs-list.is-reorder-mode .drag-handle {
    display: inline-flex;
  }

  .docs-list.is-reorder-mode .pdf-hover {
    transition: transform .15s ease, box-shadow .15s ease;
  }

  .docs-list.is-reorder-mode .pdf-hover:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(0,0,0,.06);
  }


  .modalaniobtn {

background: #223352 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    /* text-transform: capitalize !important; */
    /* box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px; */
    height: 32.4px;
    line-height: 32.4px;
    font-size: 13px;
    border-radius: 4px;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 9px;
    border: solid 1px transparent !important;
    text-decoration: none;
    padding-bottom: 8px;
    background: #fff;


  }

    .modalaniobtn:hover {

    background: #223352c2 !important;
    transition: ease all 0.5s;
    cursor: pointer;

    }

/* Modales de consulta: mismo sistema visual que Datos estadísticos. */
.statistics-filter-modal {
  position: fixed;
  inset: auto;
  top: 50%;
  left: 50%;
  margin: 0;
  transform: translate(-50%, -50%);
  width: min(780px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow: hidden;
  border: 0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(24, 39, 63, .24);
  font-family: 'Montserrat', system-ui, sans-serif;
}

.statistics-filter-modal .modaltitulocont {
  min-height: 54px;
  padding: 0 22px;
  border-radius: 10px 10px 0 0;
  background: #223352;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.statistics-filter-modal .modaltitulo {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .01em;
}

.statistics-filter-modal .cerrarModal {
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}

.statistics-filter-modal__body {
  box-sizing: border-box;
  max-height: calc(100vh - 86px);
  max-height: calc(100dvh - 86px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 26px;
}

.statistics-filter-panel {
  padding: 22px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
}

.statistics-filter-panel__title {
  margin-bottom: 18px;
  color: #223352;
  font-size: 15px;
  font-weight: 800;
}

.statistics-filter-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.statistics-filter-grid__wide { grid-column: auto; }

.statistics-filter-modal .estadisticas-field label {
  display: block;
  margin-bottom: 7px;
  color: #273244;
  font-size: 12px;
  font-weight: 800;
}

.statistics-filter-modal .statistics-filter-grid .estadisticas-field {
  display: grid !important;
  grid-template-columns: 140px minmax(0, 1fr) !important;
  align-items: center;
  gap: 18px;
}

.statistics-filter-modal .statistics-filter-grid .estadisticas-field label {
  margin: 0;
}

.native-select-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.pretty-select { position: relative; width: 100%; font-size: 13px; }
.pretty-select-trigger {
  width: 100%; min-height: 46px; padding: 0 46px 0 15px;
  border: 1px solid transparent; background: rgba(240,240,240,.6);
  color: #111827; font-family: inherit; font-size: 13px; font-weight: 600; text-align: left; cursor: pointer;
}
.pretty-select-trigger:hover { background: #eee; }
.pretty-select-trigger:focus, .pretty-select.is-open .pretty-select-trigger { border-color: #b6cdff; background: #f6f9ff; outline: 0; }
.pretty-select-trigger-text { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.pretty-select-caret { position:absolute; right:15px; top:19px; width:10px; height:10px; border-right:2px solid #667085; border-bottom:2px solid #667085; transform:rotate(45deg); transition:transform .18s; }
.pretty-select.is-open .pretty-select-caret { transform:translateY(5px) rotate(225deg); }
.pretty-select-menu { position:absolute; z-index:100010; top:calc(100% + 7px); left:0; right:0; display:none; padding:8px; border-radius:7px; background:#fff; box-shadow:0 14px 35px rgba(15,23,42,.16); }
.pretty-select.is-open .pretty-select-menu { display:block; }
body > .pretty-select-menu--portal {
  z-index: 2147483647 !important;
  right: auto;
  box-sizing: border-box;
  overflow: hidden;
}
body > .pretty-select-menu--portal.is-open { display:block !important; }
.pretty-select-search { box-sizing:border-box; width:100%; height:39px; margin-bottom:8px; padding:0 12px; border:1px solid #d7dfeb; background:#fff; color:#111827; font-family:inherit; font-size:13px; outline:0; }
.pretty-select-search:focus { border-color:#76a6df; box-shadow:0 0 0 3px rgba(55,116,170,.1); }
.pretty-select-options { max-height:220px; overflow-y:auto; }
.pretty-select-option { display:flex; width:100%; min-height:38px; align-items:center; padding:8px 12px; border:0; background:#fff; color:#667085; font-family:inherit; font-size:13px; font-weight:600; line-height:1.5; text-align:left; cursor:pointer; }
.pretty-select-option:hover { background:#eef4ff; color:#245d93; }
.pretty-select-option.is-selected { background:#ededed; color:#111827; }
.pretty-select-option.is-disabled { color:#9aa3b1; cursor:default; }
.pretty-select-empty { padding:12px; color:#8a94a6; font-size:13px; text-align:center; }
.pretty-select.is-disabled { opacity:.55; }
.pretty-select.is-disabled .pretty-select-trigger { cursor:not-allowed; background:#eef1f5; color:#7b8494; }

.statistics-filter-modal .estadisticas-desc { margin-top:20px; padding:18px; border:1px solid #e6ebf1; border-radius:12px; background:linear-gradient(180deg,#f9fafb,#fff); }
#indModal .estadisticas-desc { display:none !important; }
.statistics-filter-modal .estadisticas-desc-title { margin-bottom:10px; color:#223352; font-size:13px; font-weight:800; }
.statistics-filter-modal .estadisticas-desc textarea { box-sizing:border-box; display:block; width:100%; height:42px; min-height:42px; max-height:150px; border:0; outline:0; resize:none; overflow-y:hidden; background:transparent; color:#374151; font-family:inherit; font-size:13px; line-height:1.6; }
.statistics-filter-modal .estadisticas-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:20px; padding-top:18px; border-top:1px solid #eef0f4; }
.statistics-filter-modal .estadisticas-actions button { min-width:110px; height:38px; padding:0 18px; border:1px solid transparent; border-radius:6px; background:#223352; color:#fff; font-family:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.statistics-filter-modal .estadisticas-actions button:hover:not(:disabled) { background:#31496f; }
.statistics-filter-modal .estadisticas-actions button:disabled { opacity:.42; cursor:not-allowed; }
.statistics-filter-modal .estadisticas-actions [id*="Eliminar"] { border-color:#ffd4d4; background:#fff6f7; color:#c94b4b; }

@media (max-width: 680px) {
  .statistics-filter-modal { width:calc(100vw - 20px); }
  .statistics-filter-modal .modaltitulocont { min-height:50px; padding:0 16px; }
  .statistics-filter-modal .modaltitulo { font-size:15px; }
  .statistics-filter-modal__body { padding:16px; }
  .statistics-filter-panel { padding:16px; }
  .statistics-filter-grid { grid-template-columns:1fr; }
  .statistics-filter-grid__wide { grid-column:auto; }
  .statistics-filter-modal .statistics-filter-grid .estadisticas-field {
    grid-template-columns: 1fr !important;
    gap: 7px;
  }
  .statistics-filter-modal .estadisticas-actions { flex-direction:column; }
  .statistics-filter-modal .estadisticas-actions button { width:100%; }
}

/* Altura intrínseca: cada modal ocupa solamente lo que necesita su contenido. */
html body .modal,
html body .modalanio,
html body .statistics-filter-modal,
html body .novedades-confirm-dialog,
html body #modalUploadDoc .upContent {
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
}

html body .modal.modal-fixed-footer .modal-content {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 104px) !important;
  max-height: calc(100dvh - 104px) !important;
  overflow-y: auto !important;
}

html body .modal .modal-content,
html body .modal .modal-footer {
  height: auto !important;
  min-height: 0 !important;
}

html body #deleteModal {
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Tipografía uniforme para los títulos de los modales del sitio. */
.statistics-filter-modal .modaltitulocont,
html body #modalUploadDoc .modaldocuheader {
  color: #fff;
}

.statistics-filter-modal .modaltitulo,
html body #modalUploadDoc .modalDoctit,
#deleteModal .danger-title h5 {
  margin: 0 !important;
  color: inherit !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 1.1px !important;
}

/* Apertura breve y suave, similar a una aplicación de escritorio. */
@keyframes modal-soft-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes modal-soft-enter {
  from { opacity: 0; transform: translateY(7px) scale(.992); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes modal-soft-fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes modal-soft-exit {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to { opacity: 0; transform: translateY(5px) scale(.994); }
}

.modal.open,
.modal-overlay,
.modalanio,
[id$="ModalOverlay"] {
  animation: modal-soft-fade 180ms ease-out both;
}

#modalUploadDoc.is-open {
  animation: modal-soft-fade 180ms ease-out both;
}

#modalUploadDoc.is-open .upContent {
  animation: modal-soft-enter 210ms cubic-bezier(.2, .75, .3, 1) both;
}

#modalUploadDoc.is-closing,
.modalanio.is-closing,
[id$="ModalOverlay"].is-closing {
  animation: modal-soft-fade-out 150ms ease-in both !important;
  pointer-events: none;
}

#modalUploadDoc.is-closing .upContent {
  animation: modal-soft-exit 150ms ease-in both !important;
}

@media (prefers-reduced-motion: reduce) {
  .modal.open,
  .modal-overlay,
  .modalanio,
  [id$="ModalOverlay"],
  #modalUploadDoc.is-open,
  #modalUploadDoc.is-open .upContent,
  #modalUploadDoc.is-closing,
  #modalUploadDoc.is-closing .upContent,
  .modalanio.is-closing,
  [id$="ModalOverlay"].is-closing {
    animation: none !important;
  }
}

/* Carga de documentos: comparte el lenguaje visual de los filtros estadísticos. */
html body #modalUploadDoc {
  padding: 16px;
  background: rgba(24, 39, 63, .42);
}

html body #modalUploadDoc .upContent {
  width: min(620px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow: hidden;
  border: 0;
  border-radius: 10px;
  box-shadow: 0 28px 80px rgba(24, 39, 63, .24);
}

html body #modalUploadDoc .modaldocuheader {
  min-height: 54px;
  padding: 0 22px;
  border-radius: 10px 10px 0 0;
  background: #223352;
  background-image: none;
}

html body #modalUploadDoc .modalDoctit {
  margin: 0;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .01em;
}

html body #modalUploadDoc .cerrarModal {
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 14px;
}

html body #modalUploadDoc .cerrarModal:hover {
  background: rgba(255,255,255,.2);
}

html body #modalUploadDoc .modal-body {
  max-height: calc(100vh - 86px);
  max-height: calc(100dvh - 86px);
  overflow-y: auto;
  padding: 26px !important;
}

html body #formUploadDoc .upload-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 22px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
}

html body #formUploadDoc label {
  padding: 0;
  margin-top: 8px;
  color: #273244;
  font-size: 12px;
  font-weight: 800;
}

html body #formUploadDoc label:first-child { margin-top: 0; }

html body #formUploadDoc #upDesc {
  width: 100%;
  min-height: 96px;
  max-height: 160px;
  padding: 13px 15px;
  resize: vertical;
  border: 1px solid #e1e7ee;
  border-radius: 7px;
  outline: 0;
  background: #fff;
  color: #273244;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.55;
}

html body #formUploadDoc #upDesc:focus {
  border-color: #b6cdff;
  box-shadow: 0 0 0 3px rgba(55, 116, 170, .09);
}

html body #formUploadDoc #upFile {
  width: 100%;
  padding: 7px;
  border: 1px solid #e1e7ee;
  border-radius: 7px;
  background: #fff;
  color: #657187;
  font-family: inherit;
  font-size: 12px;
}

html body #formUploadDoc #upFile::file-selector-button {
  margin-right: 12px;
  padding: 9px 13px;
  border: 0;
  border-radius: 5px;
  background: #edf2f7;
  color: #223352;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

html body #formUploadDoc .upload-grid + div {
  margin-top: 20px !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid #eef0f4;
}

html body #formUploadDoc .upload-grid + div button {
  min-width: 110px;
  height: 38px;
  padding: 0 18px !important;
  border-radius: 6px;
  font-family: inherit;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 36px;
  text-transform: none !important;
}

html body #formUploadDoc .upload-grid + div .btnSubirDoc {
  border: 1px solid transparent !important;
  background: #223352 !important;
  color: #fff !important;
}

html body #formUploadDoc .upload-grid + div .btnSubirDoc:hover {
  background: #31496f !important;
}

html body #formUploadDoc .upload-grid + div .deletebtn {
  border: 1px solid #ffd4d4 !important;
  background: #fff6f7 !important;
  color: #c94b4b !important;
}

@media (max-width: 680px) {
  html body #modalUploadDoc .upContent { width: calc(100vw - 20px); }
  html body #modalUploadDoc .modaldocuheader { min-height: 50px; padding: 0 16px; }
  html body #modalUploadDoc .modalDoctit { font-size: 15px; }
  html body #modalUploadDoc .modal-body { padding: 16px !important; }
  html body #formUploadDoc .upload-grid { padding: 16px; }
  html body #formUploadDoc .upload-grid + div { display: grid !important; grid-template-columns: 1fr 1fr; }
  html body #formUploadDoc .upload-grid + div button { width: 100%; min-width: 0; }
}

/* Sistema final de acciones para todos los modales. */
html body .statistics-filter-modal .estadisticas-actions,
html body .novedades-confirm-modal .novedades-confirm-actions,
html body #modalUploadDoc #formUploadDoc .modal-actions,
html body .modal .modal-footer {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 20px -26px -26px !important;
  padding: 16px 26px !important;
  border-top: 1px solid #e8eef4 !important;
  background: #f8fafc !important;
}

html body .statistics-filter-modal .estadisticas-actions button,
html body .novedades-confirm-modal .novedades-confirm-actions button,
html body #modalUploadDoc #formUploadDoc .modal-actions button,
html body .modal .modal-footer a,
html body .modal .modal-footer button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  min-width: 110px !important;
  width: auto !important;
  height: 38px !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  background: #e6e6e6 !important;
  color: #111 !important;
  box-shadow: none !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 36px !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: background-color 160ms ease, border-color 160ms ease, opacity 160ms ease !important;
}

html body .statistics-filter-modal .estadisticas-actions button:hover:not(:disabled),
html body .novedades-confirm-modal .novedades-confirm-actions button:hover:not(:disabled),
html body #modalUploadDoc #formUploadDoc .modal-actions button:hover:not(:disabled),
html body .modal .modal-footer a:hover,
html body .modal .modal-footer button:hover:not(:disabled) {
  border-color: #a1a1a1 !important;
  background: #d6d6d6 !important;
  color: #111 !important;
}

html body .statistics-filter-modal .estadisticas-actions [id*="Eliminar"],
html body .novedades-confirm-modal #confirmar-cancelar-novedades,
html body #modalUploadDoc #formUploadDoc .modal-actions .deletebtn,
html body .modal .modal-footer .deletebtn {
  border-color: #ffd4d4 !important;
  background: #fff6f7 !important;
  color: #ff9189 !important;
}

html body .statistics-filter-modal .estadisticas-actions [id*="Eliminar"]:hover:not(:disabled),
html body .novedades-confirm-modal #confirmar-cancelar-novedades:hover:not(:disabled),
html body #modalUploadDoc #formUploadDoc .modal-actions .deletebtn:hover:not(:disabled),
html body .modal .modal-footer .deletebtn:hover:not(:disabled) {
  border-color: #f3aaaa !important;
  background: #ffe9eb !important;
  color: #ff9189 !important;
}

html body .statistics-filter-modal .estadisticas-actions button:disabled,
html body .novedades-confirm-modal .novedades-confirm-actions button:disabled,
html body #modalUploadDoc #formUploadDoc .modal-actions button:disabled,
html body .modal .modal-footer button:disabled {
  opacity: .42 !important;
  cursor: not-allowed !important;
}

/* Los footers reales ya están fuera del cuerpo: no deben heredar compensaciones internas. */
html body .modal .modal-footer,
html body .novedades-confirm-modal .novedades-confirm-actions {
  margin: 0 !important;
  padding: 16px 22px !important;
}

@media (max-width: 680px) {
  html body .statistics-filter-modal .estadisticas-actions,
  html body .novedades-confirm-modal .novedades-confirm-actions,
  html body #modalUploadDoc #formUploadDoc .modal-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    margin: 20px -16px -16px !important;
    padding: 16px !important;
  }

  html body .statistics-filter-modal .estadisticas-actions button,
  html body .novedades-confirm-modal .novedades-confirm-actions button,
  html body #modalUploadDoc #formUploadDoc .modal-actions button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Regla final: altura intrínseca para todos los modales. */
html body .modal,
html body .modalanio,
html body .statistics-filter-modal,
html body .novedades-confirm-dialog,
html body #modalUploadDoc .upContent {
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
}

html body .modal.modal-fixed-footer .modal-content {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 104px) !important;
  max-height: calc(100dvh - 104px) !important;
  overflow-y: auto !important;
}

html body .modal .modal-content,
html body .modal .modal-footer {
  height: auto !important;
  min-height: 0 !important;
}

html body #deleteModal {
  height: auto !important;
  min-height: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

html body #pdfModal {
  border-radius: 12px !important;
  overflow: hidden !important;
}
