.contenedor-loading {
    display: inline-block;
    vertical-align: middle;
    margin-left: 15px;
}
.aspa-animada-jccm {
    width: 24px;
    height: 24px;
    margin: 0 auto;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #0056b3; /* Azul JCCM */
    border-radius: 50%;
    animation: girarAspa 0.8s linear infinite;
}
.texto-buscando-jccm {
    color: #0056b3;
    font-weight: bold;
    font-size: 13px;
    margin-top: 4px;
    font-family: Arial, sans-serif;
}
@keyframes girarAspa {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
body{
background:#f5f6f8;
font-family:'Roboto',sans-serif;
color:#333;
}
div[style*="width:1000px"]{
width:1200px !important;
max-width:95%;
margin:auto;
}
/*************************************************/
/* CABECERA */
/*************************************************/
img[src*="bck3.png"]{
width:100%!important;
border-radius:8px;
margin-bottom:25px;
}
/*************************************************/
/* TITULOS */
/*************************************************/
.Header .th{
font-family:'Roboto Slab',serif;
font-size:28px;
color:#005a9c;
padding:10px 0;
}
/*************************************************/
/* FORMULARIO DE BUSQUEDA         */
/*************************************************/
.Record{
background:#fff;
border-radius:8px;
box-shadow:0 2px 10px rgba(0,0,0,.08);
padding:14px 18px;
margin-bottom:18px;
}

#Panel1ZBDS_VW_TRANSPSearch .Bottom{
display:flex;
justify-content:flex-end;
align-items:center;
gap:10px;
padding-top:15px;
}

#Panel1ZBDS_VW_TRANSPSearch .Bottom td{
width:auto !important;
}

/* Buscador compacto: dos pares de campos por fila */
#Panel1ZBDS_VW_TRANSPSearch .Record{
padding:12px 16px;
}

#Panel1ZBDS_VW_TRANSPSearch .Record tr.Controls{
display:grid;
grid-template-columns:
140px 1fr
140px 1fr;
gap:12px 15px;
align-items:center;
box-sizing:border-box;
padding-left:10px;
padding-right:10px;
}

#Panel1ZBDS_VW_TRANSPSearch .Record tr.Controls td{
width:auto !important;
padding:3px 0;
vertical-align:middle;
}

#Panel1ZBDS_VW_TRANSPSearch .Record tr.Controls td.th{
min-width:0;
margin:0;
font-weight:500;
white-space:nowrap;
}



#Panel1ZBDS_VW_TRANSPSearch .Record tr.Controls td:nth-child(2):last-child{
grid-column:2 / 5;
}

#Panel1ZBDS_VW_TRANSPSearch .Record input,
#Panel1ZBDS_VW_TRANSPSearch .Record select{
width:100% !important;
height:34px;
min-height:34px;
box-sizing:border-box;
border:1px solid #d6dce2;
border-radius:4px;
padding:3px 8px;
}

#Panel1ZBDS_VW_TRANSPSearch .Record input:focus,
#Panel1ZBDS_VW_TRANSPSearch .Record select:focus{
outline:none;
border-color:#005a9c;
box-shadow:0 0 0 2px rgba(0,90,156,.15);
}

#Panel1ZBDS_VW_TRANSPSearch .Record{
padding:20px 30px !important;
}

#Panel1ZBDS_VW_TRANSPSearch .Record .Bottom{
padding-top:8px;
}

#Panel1ZBDS_VW_TRANSPSearch .Record .Bottom .Button{
padding:7px 14px;
}



.rango-fecha{
display:flex;
gap:8px;
align-items:center;
}


/*************************************************/
/* BOTONES */
/*************************************************/
.Button{
border:none;
border-radius:4px;
padding:10px 18px;
cursor:pointer;
}
#Panel1ZBDS_VW_TRANSPSearchButton_DoSearch{
background:#005a9c;
color:white;
}
#Panel1ZBDS_VW_TRANSPSearchButton_DoLimpiar{
background:white;
color:#005a9c;
border:1px solid #005a9c;
}
/*************************************************/
/* EXPORTACION */
/*************************************************/
.NotaInformativa{
color:#005a9c;
font-size:14px;
text-decoration:none;
}

/*************************************************/
/* GRID DE RESULTADOS */
/*************************************************/

.Grid{
    width:100%;
    border-collapse:collapse;
    border-spacing:0;
}

/* Cabecera visible */
.Grid .Caption{
    display:table-row;
    background:#005a9c;
    color:#ffffff;
}

.Grid .Caption th{
    display:table-cell;
    padding:10px 8px;
    border-bottom:2px solid #004b82;
    font-family:'Roboto',sans-serif;
    font-size:14px;
    font-weight:500;
    text-align:center;
    vertical-align:middle;
}

.Grid .Caption th a{
    color:#ffffff;
    text-decoration:none;
}

.Grid .Caption th a:hover{
    text-decoration:underline;
}

/* Filas normales */
.Grid .Row{
    background:#ffffff;
}

/* Filas alternas */
.Grid .AltRow{
    background:#f5f7f9;
}

/* Celdas de ambas */
.Grid .Row td,
.Grid .AltRow td{
    border-bottom:1px solid #e1e5e9;
    padding:9px 8px;
    vertical-align:middle;
}

/* Convocatoria */
.Grid .Row td:nth-child(2),
.Grid .AltRow td:nth-child(2){
    font-family:'Roboto Slab',serif;
    color:#005a9c;
    font-size:20px;
    font-weight:500;
}

/* Importe */
.Grid .Row td:nth-child(5),
.Grid .AltRow td:nth-child(5){
    color:#005a9c;
    font-size:20px;
    font-weight:bold;
}

/* Botón lupa */
.Grid .Row td:first-child a,
.Grid .AltRow td:first-child a{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:40px;
    height:40px;

    background:#005a9c;
    border-radius:50%;
    padding:0;
}

/* Icono lupa */
.Grid .Row td:first-child img,
.Grid .AltRow td:first-child img{
    filter:brightness(0) invert(1);
}

.Grid .Row:not(.Footer) td:first-child a{
    display:inline-block;
    background:#005a9c;
    border-radius:20px;
    padding:8px 16px;
}

.Grid .Row:not(.Footer) td:first-child img{
    filter:brightness(0) invert(1);
}

/* Total de registros */
.Grid > tr.Row:first-child{
    background:transparent;
}

.Grid > tr.Row:first-child td{
    padding:8px;
    border-bottom:1px solid #dfe3e7;
    font-size:14px;
    color:#005a9c;
}

/* Sin registros */
.Grid .NoRecords{
    display:table-row;
    background:#ffffff;
}

.Grid .NoRecords td{
    display:table-cell;
    padding:12px 8px;
    border-bottom:1px solid #e1e5e9;
}

/* Nota informativa */
.Grid > tr.Row:last-of-type td{
    padding:12px 8px;
}

/*************************************************/
/* PIE DE RESULTADOS */
/*************************************************/

.Navigator{
display:flex;
gap:10px;
align-items:center;
justify-content:center;
padding-top:20px;
}

/*************************************************/
/* MODAL DETALLE */
/*************************************************/

#Panel1Panel2ZBDS_VW_TRANSP1 .Record{
background:white;
}

#Panel1Panel2ZBDS_VW_TRANSP1 .Controls{
display:flex;
border-bottom:1px solid #ececec;
padding:10px 0;
}

#Panel1Panel2ZBDS_VW_TRANSP1 .Controls .th{
width:240px;
color:#005a9c;
font-weight:bold;
}

/*************************************************/
/* RESPONSIVE */
/*************************************************/

@media(max-width:768px) {
#Panel1ZBDS_VW_TRANSPSearch .Record tr.Controls{
display:grid;
grid-template-columns:105px minmax(0,1fr);
column-gap:8px;
}
#Panel1ZBDS_VW_TRANSPSearch .Record tr.Controls td:nth-child(2),
#Panel1ZBDS_VW_TRANSPSearch .Record tr.Controls td:nth-child(3),
#Panel1ZBDS_VW_TRANSPSearch .Record tr.Controls td:nth-child(4){
grid-column:2;
}
#Panel1ZBDS_VW_TRANSPSearch .Record tr.Controls td.th{
white-space:normal;
}
.Grid .Row:not(.Footer){
padding:15px;
}
}

.cabecera-jccm{
    background:#ffffff;
    border-top:6px solid #005a9c;
    border-radius:8px;

    padding:25px 30px;
    margin-bottom:20px;
    margin-top:20px;

    display:flex;
    align-items:center;
    gap:20px;

    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.cabecera-logo{
    flex:0 0 auto;
}

.cabecera-logo img{
    height:70px;
    display:block;
}
.cabecera-texto{
    flex:1;
}
.cabecera-texto h1{
    margin:0;
    font-family:'Roboto Slab',serif;
    font-size:32px;
    color:#005a9c;
    font-weight:600;
    line-height:1.1;
}
.cabecera-texto h2{
    margin:6px 0 0;
    color:#666;
    font-size:18px;
    font-weight:400;
}

@media (max-width:768px){
    .cabecera-jccm{
        flex-direction:column;
        text-align:center;
    }
    .cabecera-logo img{
        height:60px;
    }
    .cabecera-texto h1{
        font-size:26px;
    }
}