/* Ajustes responsive generales (<= 991.98px) */

.contenedor { padding: 0 16px; }

.cabecera__barra {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.cabecera__estado { font-size: .74rem; }

/* Con la cabecera en columna la navegacion se alinea con la marca. */
.cabecera__nav { margin-left: 0; }
.cabecera__sesion { padding-left: 0; border-left: 0; }

.filtros__rango {
    margin-left: 0;
    width: 100%;
}

/* Siete tarjetas en una linea no caben en un telefono: se recupera el envoltorio. */
.rejilla--kpi {
    grid-auto-flow: row;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.rejilla--dos { grid-template-columns: 1fr; }

.kpi__valor { font-size: 1.5rem; }

.filtros { margin-bottom: 20px; }

.panel__titulo h1 { font-size: 1.25rem; }

/* En móvil el botón baja con el rango en vez de pelear por el ancho. */
.filtros__pdf { margin-left: auto; }
