body { background-color: #f2f4f6; }
.barra-lista { background-color: #0b2545; color: #fff; }
.contenedor-lista {
    background: #fff;
    border-radius: .5rem;
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
}
/* El HTML de origen trae tipografia y tamanos fijos en <font>; se homogeniza para respetar el tema Bootstrap */
.contenedor-lista font { font-family: inherit !important; font-size: inherit !important; color: inherit !important; }
.contenedor-lista table td { vertical-align: top; }
.cabecera-institucional {
    position: relative;
    text-align: center;
    padding: .25rem 2.75rem 1.25rem;
    margin-bottom: 1rem;
    border-bottom: 3px solid #c9a227;
}
/* Cuando la vista formateada saca la cabecera de la <table> (queda como
   hija directa del contenedor), se la deja pegada arriba al hacer scroll.
   El margen inferior pasa como margen superior de la tabla siguiente: si
   quedara en la cabecera, seria una franja transparente por la que se
   veria pasar la lista al scrollear. */
.contenedor-lista > .cabecera-institucional {
    position: sticky;
    top: 0;
    z-index: 6;
    background: #fff;
    margin-bottom: 0;
}
.contenedor-lista > .cabecera-institucional + table { margin-top: 1rem; }
.boton-mas-listas {
    position: absolute;
    top: .5rem;
    right: .5rem;
}
.cabecera-institucional p {
    margin: 0;
}
.cabecera-institucional .cabecera-eyebrow {
    font-size: .8rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: .35rem;
}
.cabecera-institucional .cabecera-sub {
    font-size: 1.05rem;
    color: #0b2545;
    line-height: 1.4;
}
.cabecera-institucional .cabecera-fecha {
    margin-top: .6rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0b2545;
}
.lista-leyenda {
    font-weight: 600;
    font-size: .95rem;
    color: #0b2545;
    margin: 0 0 .75rem;
}
/* Lista de expedientes: mobile-first (apilado por defecto, dos columnas
   recien a partir de md) para evitar columnas angostas en celular. */
.lista-expedientes { border: 1px solid #e5e7eb; border-radius: .5rem; overflow: hidden; }
.expediente-encabezado {
    background: #0b2545;
    color: #fff;
    font-weight: 600;
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.expediente-encabezado > div, .expediente-item > div { padding: .6rem .9rem; }
.expediente-item { border-top: 1px solid #e5e7eb; }
.expediente-item:nth-child(2) { border-top: none; }
.expediente-item:nth-of-type(odd) { background: #f8f9fb; }
.expediente-caratula { color: #0b2545; }
.expediente-numero { color: #6b7280; font-size: .85rem; margin-top: .15rem; }
.col-orden { flex: 0 0 auto; margin-right: .6rem; font-weight: 700; color: #0b2545; }
.expediente-encabezado .col-orden { color: #fff; }
.tramite-linea { margin-bottom: .4rem; }
.tramite-linea:last-child { margin-bottom: 0; }
.tramite-link { font-weight: 600; text-decoration: none; }
.tramite-fecha { color: #6b7280; font-size: .85rem; margin-left: .35rem; }
.tramite-detalle { color: #495057; font-size: .85rem; margin-left: .35rem; }
@media (min-width: 768px) {
    .col-caratula { flex: 0 0 38%; max-width: 38%; }
    .col-tramite { flex: 1 1 auto; border-left: 1px solid #e5e7eb; }
}
/* Modal de proveidos: cabecera con el mismo azul institucional de la barra
   y el iframe ocupando todo el cuerpo (el scroll queda dentro del propio
   documento). En pantallas chicas el modal pasa a pantalla completa
   (modal-fullscreen-md-down), asi que el alto se recalcula. */
.modal-escrito .modal-header { background-color: #0b2545; color: #fff; }
.modal-escrito-frame {
    display: block;
    width: 100%;
    border: 0;
    background: #fff;
    height: calc(100vh - 11rem);
}
@media (max-width: 767.98px) {
    .modal-escrito-frame { height: calc(100vh - 3.4rem); }
}
@media print {
    .barra-lista, .no-imprimir { display: none !important; }
    body { background: #fff; }
    .contenedor-lista { box-shadow: none; }
}
